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
-
- 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
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 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
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 beDiscPerm
) 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:
-
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.