Udostępnij za pośrednictwem


Metoda GenerateDatabaseRightsScript (WMI MSReportServer_ConfigurationSetting)

Generuje skrypt SQL można udzielić użytkownikowi prawa do baza danych serwer raportów i innych baz danych wymaganych dla serwer raportów do uruchomienia.Oczekuje się połączyć, wywołujący SQL Server serwera bazy danych i wykonać script.

Składnia

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);

Parametry

  • UserName
    Nazwa użytkownika lub Windows identyfikator zabezpieczeń (SID) skrypt będzie przyznają prawa użytkownika.

  • DatabaseName
    Nazwa bazy danych, skrypt udziela dostępu użytkownika.

  • IsRemote
    Wartość logiczna wskazująca, czy baza danych jest zdalna z serwer raportów.

  • IsWindowsUser
    Wartość logiczna wskazująca, czy określona nazwa użytkownika jest użytkownika systemu Windows w SQL Server użytkownika.

  • Script
    [Brak] Ciąg zawierający wygenerowanej SQL Server script.

  • HRESULT
    [Brak] Wartość wskazująca, czy wywołanie pomyślnych lub niepomyślnych.

Wartość zwracana

Zwraca HRESULT powodzeniu lub niepowodzeniu wywołania metoda.Wartość 0 oznacza pomyślne wywołanie metoda.Niezerowa wartość wskazuje, że wystąpił błąd.

Uwagi

Jeśli DatabaseName jest pusta następnie IsRemote jest ignorowany i serwer raportów plik konfiguracja wartość jest używana nazwa bazy danych.

If IsWindowsUser is zestaw to true, UserName should be in the format <domain>\<username>.

Po IsWindowsUser jest zestaw do true, wygenerowany skrypt udziela praw logowania użytkownika dla SQL Server, zestawwyrównywania bazie danych raportu jako domyślna baza danych i dotacji RSExec w bazie danych raportu, raport serwera tymczasowej bazy danych, baza danych master i systemowej bazy danych MSDB roli.

Gdy IsWindowsUser jest zestaw do true, metoda akceptuje standardowych identyfikatorów SID systemu Windows jako danych wejściowych.Gdy są dostarczane standardowe SID systemu Windows lub nazwa konta usługa jest tłumaczony na ciąg nazwy użytkownika.Jeśli baza danych jest lokalna, konto jest tłumaczony na prawidłową reprezentację zlokalizowane konta.Jeśli baza danych jest zdalny, konto jest reprezentowana jako konto tego komputera.

W poniższej tabela przedstawiono konta, które zostały przetłumaczone i ich przedstawiciele zdalnego.

Konto / SID przetłumaczony

Nazwa pospolita

Nazwa zdalnego

(S-1-5-18)

System lokalny

<Domena>\<nazwa_komputera>$

.\LocalSystem

System lokalny

<Domena>\<nazwa_komputera>$

ComputerName\LocalSystem

System lokalny

<Domena>\<nazwa_komputera>$

System lokalny

System lokalny

<Domena>\<nazwa_komputera>$

(S-1-5-20)

Usługa sieciowa

<Domena>\<nazwa_komputera>$

NT AUTHORITY\NetworkService

Usługa sieciowa

<Domena>\<nazwa_komputera>$

(S-1-5-19)

Usługa lokalna

Błąd — zobacz poniżej.

NT\Usługa

Usługa lokalna

Błąd — zobacz poniżej.

Na Windows 2000, jeśli używasz wbudowanego konta i baza danych serwera raportów jest zdalne, zostanie zwrócony błąd.

Jeśli LocalService określone wbudowane konto i baza danych serwera raportów jest zdalne, zostanie zwrócony błąd.

Gdy IsWindowsUser jest true, a wartość podana w UserName musi być, dostawca WMI określa, czy baza danych serwera raportów znajduje się na tym samym komputerze lub na komputerze zdalnym.Aby określić, jeśli instalacja jest lokalna, dostawca WMI ocenia DatabaseServerName Właściwość następującą listą wartości.Jeśli zostanie znaleziony, baza danych jest lokalny.W przeciwnym razie jest zdalny.Porównanie jest przypadek-niewrażliwe.

Wartość DatabaseServerName

Przykład

“.”

"(lokalny)"

"LOKALNĄ"

localhost

<Nazwa_komputera>

testlab14

<MachineFQDN>

example.Redmond.microsoft.com

<Adres_ip>

180.012.345,678

Gdy IsWindowsUser jest zestaw do true, wywołania dostawca WMI LookupAccountName uzyskać identyfikator SID dla konta i następnie wywołania LookupAccountSID nazwy w SQL Server script.Dzięki temu przekazuje nazwę konta używane SQL Server sprawdzania poprawności.

Gdy IsWindowsUser jest zestaw do false, wygenerowany skrypt dotacji RSExec w bazie danych raportu, raport tymczasowej bazie danych serwera i bazy danych MSDB roli.

Gdy IsWindowsUser jest zestaw do false, użytkownika programu SQL Server musi już istnieć na SQL Server na pomyślnie uruchomić skryptu.

Jeśli serwer raportów nie ma baza danych serwera raportów określone wywołanie GrantRightsToDatabaseUser zwraca błąd.

Obsługuje wygenerowany skrypt SQL Server 2000, SQL Server 2005 r. i SQL Server 2008.

Wymagania

Obszar nazw: katalog_główny\Microsoft\SqlServer\ReportServer\RS<EncodedInstanceName>\v10\Admin

Platforma: Windows Server 2003 Datacenter Edition, Windows Server 2003 Enterprise Edition, Windows Server 2003 Standard Edition, Windows Vista, Windows XP Professional z dodatkiem Service Pack 2 (SP2) lub Service Pack 1 (SP1) albo Windows 2000 (wszystkie wersje)