SetDatabaseConnection Method (WMI MSReportServer_ConfigurationSetting)
Applies To: SQL Server 2016
Sets the report server database connection to a particular report server database.
public void BackupEncryptionKey(string Server, string DatabaseName, Int32 CredentialsType, string UserName, string Password, out Int32 HRESULT);
The name of the SQL Server instance that is used to host the report server database.
The name of the report server database.
The type of credentials to use for the connection. Values can be:
0 - Windows
1 – SQL Server
2 - Windows Service
The account name used to connect to the report server database.
The password used to connect to the report server database.
[out] Value indicating whether the call succeeded or failed.
Returns an HRESULT indicating success or failure of the method call. A value of 0 indicates that the method call was successful. A non-zero value indicates that an error has occurred.
When the CredentialsType parameter is set to 0 (Windows), the UserName and Password parameters must be set. The UserName parameter must be in the form "domain\username", and the value must represent a valid Windows logon.
When the CredentialsType parameter is set to 1 (SQL Server), the value passed in the UserName parameter must conform to the requirements of a SQL Server login name.
When the CredentialsType parameter is set to 2 (Windows Service), the report server uses integrated security to connect to the report server database and the UserName and Password parameters are ignored. The Reporting Server Web service will use either the ASP.NET account or an application pool’s account and the Windows service account to access the report server database.
When called, the SetDatabaseConnection method encrypts and stores the credentials and database information in the configuration file for the specified report server.
The SetDatabaseConnection method does not check that the report server can connect to the report server database using the data specified.
When set for the first time, the ConnectionPoolSize property is set based on the following processors: ConnectionPoolSize = #Processors * 75.
The SetDatabaseConnection method does not grant permissions to the specified account(s). You must call the GenerateDatabaseRightsScript method for each account that requires access to the report server database and run the resulting script.