SSRS Server Configuration
Overview
SSRS Server Configuration brings together three things about a report server that are normally in three different places:
- The settings.
ConfigurationInfoholds several dozen name and value pairs, and the web portal exposes only a handful. The ones that matter most to a database administrator, such as how many days of execution log are kept, the logging level, the default report timeout and snapshot compression, are among the ones it does not show. - The keys. Every report server instance that has been initialized against this catalog has a row in
Keyswith its machine and instance name. After a restore, that list is the first thing to check. - The version history. The upgrade history tables record the last schema upgrade step the catalog ran, the last server upgrade step, and what edition and build last wrote to it. The three use different naming schemes, so the page shows them side by side rather than comparing them.
A short list of settings is compared against its shipped default. Where a default depends on the edition, the installer or the version, the page shows the value without claiming it was changed.
Where to find it
Only shown for a database holding a Reporting Services catalog.
- Tree: expand the report server database, then Real Time > SSRS > Server Configuration.
- SSRS What Fills This Database: the Configuration toolbar button, or right click a table and choose The server settings, or How long the log is kept on
ExecutionLogStorage. - SSRS Permissions: the Configuration toolbar button, or right click and choose The server settings.

Requirements
- A Reporting Services catalog database. The SSRS pages are offered when
dbo.ExecutionLoganddbo.Catalogboth exist. SELECTondbo.ConfigurationInfo,dbo.Keys,dbo.DBUpgradeHistory,dbo.ServerUpgradeHistoryanddbo.ProductInfoHistory.- The query is given 60 seconds.
The key material itself is never read. From Keys the page selects the machine name, instance name, client number and installation id, and only whether a symmetric key is present. The placeholder row every catalog is created with (client -1, no machine name, no keys) is left out, because it is not an instance.
Reading the chart

Nothing on this page has a magnitude, so the chart is a list of findings. Every bar is the same length. The label is the setting name, the line under it is what the setting does or why it was flagged, and the value on the right is the current value.
Only two kinds of row get a bar:
| Color | Meaning |
|---|---|
| Red | Worth a second look regardless of the default (see the list below), or a key row with no symmetric key |
| Amber | A setting whose shipped default is known and whose value is different |
Red rows come first, then amber, each group in alphabetical order, and red bars also get an amber outline. A report server with nothing changed and nothing notable draws an empty chart that says Nothing here is set to anything surprising. Hover over a bar for the value, the shipped default where it is known, and the explanation.
The page has no views to switch between. Its toolbar buttons open SSRS What Fills This Database (Storage), SSRS Failed Executions (Failed runs) and SSRS Permissions (Permissions).
What is flagged red
| Setting | Flagged when | Why |
|---|---|---|
| EnableExecutionLogging | False | Nothing records what runs, and every page built on the execution log reads as an idle server |
| EnableRemoteErrors | True | A failing report shows its data source’s error text to whoever opened it |
| ExecutionLogLevel | Verbose | The parameters of every run are recorded, which fills ExecutionLogStorage faster |
| ExecutionLogDaysKept | 0 or less, or more than 180 | Never trimmed, or kept far longer than the shipped sixty days |
SystemSnapshotLimit is not on this list. Its shipped default is -1, unlimited, so an untouched server has it. Its row in the grid explains what -1 means (a report that keeps history and sets no limit of its own is never trimmed) without flagging it, and a value other than -1 shows amber as a changed setting.
Reading the grid

| Column | What it holds |
|---|---|
| Name | The setting name, the machine and instance for a key row, or the version row’s name |
| Kind | Setting, Encryption key or Version |
| Value | The setting’s value, the installation id for a key row, or the version recorded |
| Shipped default | The default, for the settings where the page knows it |
| What it does | What the setting controls, why it was flagged, or what the key or version row means |
Value and What it does are drawn in red or amber on a flagged row.
Settings with a known default
| Setting | Shipped default |
|---|---|
| EditSessionTimeout | 7200 |
| EnableClientPrinting | True |
| EnableExecutionLogging | True |
| EnableIntegratedSecurity | true |
| EnableMyReports | False |
| EnableRemoteErrors | False |
| ExecutionLogDaysKept | 60 |
| ExecutionLogLevel | Normal |
| MaxFileSizeMb | 1000 |
| SessionTimeout | 600 |
| SharePointIntegrated | False |
| SnapshotCompression | SQL |
| StoredParametersLifetime | 180 |
| StoredParametersThreshold | 1500 |
| SystemReportTimeout | 1800 |
| SystemSnapshotLimit | -1 |
The comparison ignores case. Every other setting is shown with its value and an empty Shipped default, which means the page makes no claim about it either way.
Key rows
One per real row in Keys, named by machine and instance. A row with a symmetric key is described as an instance that has been initialized against the catalog and can read its stored credentials. A row without one is flagged red and described as unable to read them. The placeholder row with client -1 is not shown.
Version rows
- Catalog schema version – the latest
DBUpgradeHistoryentry, which is the name of the last upgrade step (for exampleGetAllPropertiesLinked2). - Report server version – the latest
ServerUpgradeHistoryentry, a release label that follows the catalog’s own numbering rather than the product version (an SSRS 2019 catalog can record2017). - Edition and build – the latest
ProductInfoHistoryentry, the SKU and build number.
Each says when it was recorded and, for the first two, by whom.
Findings
The headline counts the settings, how many are away from their shipped default (or says all are at their defaults), how many initialized instances there are (rows in Keys holding a symmetric key), and the build from ProductInfoHistory, or the report server version when no build is recorded. The line under it adds, where they apply:
- The reason for each red setting.
- When no instance is initialized: that nothing can currently read the credentials stored in the catalog, which is what a database restored without its encryption key looks like.
- When more than one is initialized: that this is a scale out deployment and all of them share these settings.
- When an instance is listed with no symmetric key: that it asked to join the catalog and was never activated.
- That a setting is only called changed where its shipped default is known.
- That the page reads the catalog tables directly.
The version rows are not compared with each other, because nothing in the catalog maps an upgrade step name onto a release label or a build.
Actions
- Click or double click a bar to select that row in the grid.
- Right click a bar for the same menu as that row in the grid.
- Right click a grid row, below the usual Copy, Copy with Headers and Select All, for:
- Copy the name and value, as
Name = Value - Copy every setting – every setting row, one per line, name and value tab separated
- What fills this database – opens SSRS What Fills This Database
- What has been failing – opens SSRS Failed Executions
- Copy the name and value, as
- Right click an empty part of the chart to copy the chart to the clipboard.
Nothing on this page writes a setting. The report server service caches ConfigurationInfo, so a value changed underneath it takes effect at some later point, if at all. Change these through the Reporting Services Configuration Manager or the web portal’s site settings.
Where the data comes from
Five result sets in one batch:
dbo.ConfigurationInfo, name and value.Valueisntext, so it is converted toNVARCHARon the way out.dbo.Keys: machine name, instance name, client, installation id, and whetherSymmetricKeyis present, leaving out the client -1 placeholder row.- The newest row of
dbo.DBUpgradeHistoryand ofdbo.ServerUpgradeHistory, byUpgradeID. - The newest row of
dbo.ProductInfoHistory, by date.
Related reports
- SSRS What Fills This Database – what the retention and session settings cost
- SSRS Failed Executions – what EnableRemoteErrors would expose
- SSRS Snapshots and History – what an unlimited snapshot limit keeps
- SSRS Permissions – who can change these settings
- SSRS Report Speed – bounded by ExecutionLogDaysKept
- Configuration Values – the SQL Server instance’s own settings
Frequently asked questions
Is a SystemSnapshotLimit of -1 a problem? Not on its own. Minus one, unlimited, is the shipped default. It only matters for a report that keeps history and sets no limit of its own, and SSRS Snapshots and History shows whether any report does. The page explains the value in the grid and does not flag it.
Why does the Report server version say an older release than the build? ServerUpgradeHistory records the catalog’s own upgrade labels, which do not follow the product version. The build number in the Edition and build row is the product’s own.
Why does a setting have no shipped default? Its default depends on the edition, the installer or the version. The page only claims a default where it is known and stable, so it does not report untouched settings as changed.
What does a key row with no symmetric key mean? The instance is listed in Keys but has no symmetric key there, so it cannot decrypt the connection strings and credentials stored in this catalog. The page describes a catalog with no instance listed at all as what a database restored without its encryption key looks like.