Метод ConfigurationSetting — GenerateDatabaseRightsScriptConfigurationSetting Method - GenerateDatabaseRightsScript

Создает скрипт SQL, с помощью которого пользователям могут предоставляться права доступа к базе данных сервера отчетов и другим базам данных, необходимым для работы сервера отчетов.Generates a SQL Script that can be used to grant a user rights to the report server database and other databases required for a report server to run. Ожидается, что участник соединится с базой данных сервера отчетов SQL ServerSQL Server и выполнит скрипт.The caller is expected to connect to the SQL ServerSQL Server database server and execute the script.

СинтаксисSyntax

Public Sub GenerateDatabaseRightsScript(ByVal UserName As String, _  
    ByVal DatabaseName As String, ByVal IsRemote As Boolean, _  
    ByVal IsWindowsUser As Boolean, ByRef Script As String, _  
    ByRef HRESULT As Int32)  
public void GenerateDatabaseRightsScript(string UserName, string DatabaseName, bool IsRemote, bool IsWindowsUser, out string Script,   
out Int32 HRESULT);  

ПараметрыParameters

UserNameUserName
Имя пользователя или идентификатор безопасности Windows пользователя, которому скрипт предоставляет права.The user name or Windows security identifier (SID) of the user to which the script will grant rights.

DatabaseNameDatabaseName
Имя базы данных, доступ к которой скрипт предоставит пользователю.The database name to which the script will grant access to the user.

IsRemoteIsRemote
Логическое значение. Показывает, является ли база данных удаленной по отношению к серверу отчетов.A Boolean value to indicating whether the database is remote from the report server.

IsWindowsUserIsWindowsUser
Логическое значение, которое показывает тип пользователя для указанного имени пользователя: Windows или SQL ServerSQL Server .A Boolean value indicating whether the specified user name is a Windows user or a SQL ServerSQL Server user.

СкриптScript
[out] Строка, которая содержит созданный скрипт SQL ServerSQL Server .[out] A string containing the generated SQL ServerSQL Server script.

HRESULTHRESULT
[out] Значение, которое указывает, окончился ли вызов успехом или сбоем.[out] Value indicating whether the call succeeded or failed.

Возвращаемое значениеReturn Value

Возвращает значение HRESULT , являющееся признаком успешного или неуспешного завершение вызова метода.Returns an HRESULT indicating success or failure of the method call. Значение 0 указывает, что вызов метода завершился успешно.A value of 0 indicates that the method call was successful. Ненулевое значение указывает, что произошла ошибка.A non-zero value indicates that an error has occurred.

RemarksRemarks

Если параметр DatabaseName пуст, IsRemote пропускается и значение файла конфигурации сервера отчетов используется в качестве имени базы данных.If DatabaseName is empty then IsRemote is ignored and the report server configuration file value is used for the database name.

Если параметр IsWindowsUser имеет значение true, то параметр UserName должен иметь вид <домен>\<имя_пользователя>.If IsWindowsUser is set to true, UserName should be in the format <domain>\<username>.

Если параметр IsWindowsUser имеет значение true, то созданный скрипт предоставляет пользователю права для входа на SQL ServerSQL Server, при этом база данных сервера отчетов задается в качестве используемой по умолчанию, а также пользователю присваивается роль RSExec в базе данных сервера отчетов, во временной базе данных сервера отчетов, в базе данных master и в системной базе данных MSDB.When IsWindowsUser is set to true, the generated script grants login rights to the user for the SQL ServerSQL Server, setting the report server database as the default database, and grants the RSExec role on the report server database, the report server temporary database, the master database and the MSDB system database.

Если параметр IsWindowsUser имеет значение true, то метод принимает в качестве входных данных стандартные идентификаторы безопасности Windows.When IsWindowsUser is set to true, the method accepts standard Windows SIDs as input. Если предоставлен стандартный идентификатор безопасности Windows или имя учетной записи службы, то они переводятся в строку имени пользователя.When a standard Windows SID or service account name is supplied, it is translated to a user name string. Если база данных локальная, то учетная запись переводится в соответствии с представлением текущего языкового стандарта учетной записи.If the database is local, the account is translated to the correct localized representation of the account. Если база данных удаленная, то учетная запись представляется как учетная запись компьютера.If the database is remote, the account is represented as the computer's account.

В приведенной ниже таблице показаны переведенные учетные записи и их удаленное представление.The following table shows accounts that are translated and their remote representation.

Переведенная учетная запись/идентификатор безопасностиAccount / SID that is translated Общее имяCommon Name Удаленное имяRemote Name
(S-1-5-18)(S-1-5-18) Локальная системаLocal System <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
.\LocalSystem.\LocalSystem Локальная системаLocal System <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
ComputerName\LocalSystemComputerName\LocalSystem Локальная системаLocal System <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
локальная система;LocalSystem Локальная системаLocal System <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
(S-1-5-20)(S-1-5-20) Сетевая служба.Network Service <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
NT AUTHORITY\NetworkServiceNT AUTHORITY\NetworkService Сетевая служба.Network Service <Домен>\<имя_компьютера>$<Domain>\<ComputerName>$
(S-1-5-19)(S-1-5-19) Локальная служба.Local Service Ошибка — см. ниже.Error - see below.
NT AUTHORITY\LocalServiceNT AUTHORITY\LocalService Локальная служба.Local Service Ошибка — см. ниже.Error - see below.

Если в Windows 2000Windows 2000используется встроенная учетная запись, а база данных сервера отчетов удаленная, то возвращается сообщение об ошибке.On Windows 2000Windows 2000, if you are using a built-in account and the report server database is remote, an error is returned.

Если указана встроенная учетная запись LocalService и база данных сервера отчетов удаленная, то возвращается сообщение об ошибке.If the LocalService built-in account is specified and the report server database is remote, an error is returned.

Если параметр IsWindowsUser имеет значение true, а значение параметра UserName требует перевода, то поставщик WMI определяет, на каком компьютере находится база данных сервера отчетов: на этом же или на удаленном.When IsWindowsUser is true and the value supplied in UserName needs to be translated, the WMI provider determines whether the report server database is located on the same computer or on a remote computer. Чтобы определить, что установка локальная, поставщик WMI проверяет свойство DatabaseServerName на значения из приведенного ниже списка.To determine if the installation is local, the WMI provider evaluates the DatabaseServerName property against the following list of values. Если одно из значений совпадает, то база данных локальная.If a match is found, the database is local. В противном случае она является удаленной.Otherwise, it is remote. При сравнении учитывается регистр букв.The comparison is case-insensitive.

Значение параметра DatabaseServerNameValue of DatabaseServerName ПримерExample
".""."
"(local)""(local)"
"LOCAL""LOCAL"
localhostlocalhost
<Имя_компьютера><Machinename> testlab14testlab14
<Полное_доменное_имя_компьютера><MachineFQDN> example.redmond.microsoft.comexample.redmond.microsoft.com
<IP-адрес><IPAddress> 180.012.345,678180.012.345,678

Если параметр IsWindowsUser имеет значение true, то поставщик WMI вызывает метод LookupAccountName для получения идентификатора безопасности для учетной записи, а затем вызывает метод LookupAccountSID, чтобы получить имя для вставки в скрипт SQL ServerSQL Server .When IsWindowsUser is set to true, the WMI provider calls LookupAccountName to get the SID for the account and then calls LookupAccountSID to get the name to put in the SQL ServerSQL Server script. Это гарантирует, что имя учетной записи успешно пройдет проверку SQL ServerSQL Server .This ensures that the account name used will pass SQL ServerSQL Server validation.

Если параметр IsWindowsUser имеет значение false, то созданный скрипт предоставляет роль RSExec в базе данных сервера отчетов, во временной базе данных сервера отчетов и в базе данных MSDB.When IsWindowsUser is set to false, the generated script grants the RSExec role on the report server database, the report server temporary database, and the MSDB database.

Если параметр IsWindowsUser имеет значение false, то для успешного выполнения скрипта пользователь SQL Server уже должен существовать в SQL ServerSQL Server .When IsWindowsUser is set to false, the SQL Server user must already exist on the SQL ServerSQL Server for the script to run successfully.

Если для сервера отчетов не задана база данных сервера отчетов, то при вызове метода GrantRightsToDatabaseUser возвращается ошибка.If the report server does not have a report server database specified, calling GrantRightsToDatabaseUser returns an error.

Созданный скрипт поддерживает SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL ServerSQL Server 2005 и SQL Server 2008SQL Server 2008.The generated script supports SQL Server 2000 (8.x)SQL Server 2000 (8.x), SQL ServerSQL Server 2005, and SQL Server 2008SQL Server 2008.

ТребованияRequirements

Пространство имен: root\Microsoft\SqlServer\ReportServer\<InstanceName>\v13\Adminroot\Microsoft\SqlServer\ReportServer\<InstanceName>\v13\AdminNamespace: root\Microsoft\SqlServer\ReportServer\<InstanceName>\v13\Adminroot\Microsoft\SqlServer\ReportServer\<InstanceName>\v13\Admin

См. также:See Also

Элементы MSReportServer_ConfigurationSettingMSReportServer_ConfigurationSetting Members