ReportSchedules SQL table

Structure of the ReportSchedules table for DeliverPoint on-prem scheduled reports

This document provides a reference for technical users who need to manually manage scheduled reports within the DeliverPoint for SharePoint On-Prem. It is designed to guide users through the process of replicating or configuring scheduled reports outside of the standard UI, offering flexibility for handling reports across multiple scopes or environments. As DeliverPoint continues to evolve, the details in this guide may change, so it’s important to stay updated with the latest product developments to ensure alignment with current functionality.

ReportSchedules Table Overview

The ReportSchedules table is used by DeliverPoint On-Prem to store details about scheduled reports. This document outlines each field in the table, along with required values when manually creating entries.

Table Structure and Columns

Id 

  • A unique identifier for each scheduled report.
  • When manually adding a row, generate a new unique GUID to populate this field.

ReportType 

  • Specifies the type of scheduled report.
  • Value: Currently, the only supported report type is DiscPerm for the Discover Permissions report.

ScopeId 

  • Encodes the scope of the scheduled report. This value depends on the scope type (e.g., site collection, list, web application).
  • To determine the structure of ScopeId, you can create a report via the UI and observe the values in the table.
  • Key points:
    • Multiple scopes can be separated by ~.
    • Each scope starts with a two-letter code indicating the scope type:
      • sc for Site Collection
      • wb for Site
      • ls for List
      • wa for Web Application
  • For a web application or site collection, the ScopeId is just the GUID of that web application or site collection.
  • For a site, the ScopeId is formatted as SCID$SITEID, where SCID is the GUID of the parent site collection, and SITEID is the GUID of the site.
  • For a list, the format is SCID$SITEID$LISTID, where SCID is the parent site collection’s GUID, SITEID is the site’s GUID, and LISTID is the list’s GUID.

ReportInfo 

  • Contains additional report details, such as serialized prefilter data for a Discover Permissions report.
  • To replicate values, schedule a similar report through the UI and copy the data from the ReportInfo column.
  • This column can be empty or null if no prefilter is required.

UserName 

  • The login name of the user scheduling the report.
  • Copy the value from a report created in the UI to avoid entering incorrect data.

UrlZone 

  • Indicates the URL zone from which the report is scheduled.
  • Possible values come from the corresponding enum. For example, the default zone uses 0.

Schedule

  • Defines the report's generation frequency.
  • You can replicate this value by scheduling a report with the desired frequency in the UI and copying the field data.

RunOnce 

  • If the report is a one-time schedule, this value should be 1; otherwise, it must be 0.

FolderPath

  • The path where the report will be saved.
  • When adding a row manually, you must provide this value explicitly, as DeliverPoint cannot automatically generate a folder.

FileNamePattern 

The file name pattern for the scheduled report, as specified by the user when scheduling via the 

Created 

  • The date and time when the report was scheduled.
  • Use a function like GETDATE() to set this value when adding a row.

Updated 

  • Tracks the last update time. This can be set to NULL or updated when needed.

LastRun 

  • The date and time when the report last ran.

NextRun 

  • The scheduled time for the next report run.

Failed

  • A flag indicating if the last report generation failed.
  • Default value is 0 (no failure).

Mandatory Fields for Manual Entry

When manually adding entries to the ReportSchedules table, ensure the following fields are provided:

  • Id (Unique GUID)
  • ReportType (Must be DiscPerm)
  • ScopeId
  • UserName
  • Schedule
  • RunOnce
  • FolderPath
  • FileNamePattern
  • Created

All other columns not mentioned above can be set to NULL or their default values. It is recommended to replicate values from a sample report scheduled in the UI to avoid misconfiguration.

Best Practices

To replicate scheduled reports across multiple scopes, you can:

  1. Schedule a report via the UI for the required scope, then copy the relevant values (ScopeId, ReportInfo, etc.) into new rows in the table.
  2. Ensure an IIS reset or app pool recycle is performed after making changes to the table to reflect them across all WFE servers.

Was this article helpful?

Can’t find what you’re looking for?

Our world-class Customer Success team is here for you.

Contact Support