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 
DiscPermfor 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:
- 
scfor Site Collection - 
wbfor Site - 
lsfor List - 
wafor Web Application 
 - 
 
 - Multiple scopes can be separated by 
 - 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 
ReportInfocolumn. - 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 be0. 
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 
NULLor 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 beDiscPerm) ScopeIdUserNameScheduleRunOnceFolderPathFileNamePatternCreated
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:
- 
Schedule a report via the UI for the required scope, then copy the relevant values (
ScopeId,ReportInfo, etc.) into new rows in the table. - 
Ensure an IIS reset or app pool recycle is performed after making changes to the table to reflect them across all WFE servers.