Udostępnij za pośrednictwem


Metoda GenerateDatabaseRightsScript (MSReportServer_ConfigurationSetting WMI)

Generuje skrypt SQL, który może służyć do udzielania praw baza danych serwer raportów i innych baz danych wymaganych dla serwer raportów do uruchomienia przez użytkownika.Obiekt wywołujący oczekuje się, aby połączyć się z SQL Server Serwer bazy danych i uruchom skrypt.

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

Parameters

  • UserName
    Nazwa użytkownika lub systemu Windows identyfikator zabezpieczeń (SID) użytkownika, w którym skrypt będzie udzielić praw.

  • DatabaseName
    Nazwa bazy danych, którym skrypt będzie udzielić dostępu użytkownikowi.

  • IsRemote
    logiczny wskazująca, czy baza danych jest zdalne z serwer raportów.

  • IsWindowsUser
    logiczny wskazująca, czy użytkownik systemu Windows jest określona nazwa użytkownika lub jego SQL Server użytkownik.

  • Script
    [Brak] Ciąg zawierający wygenerowanych SQL Server skrypt.

  • HRESULT
    [Brak] Wartość wskazująca, czy wywołanie zakończyło się powodzeniem, czy nie.

Wartość zwracana

Zwraca HRESULT wskazując Powodzenie lub Niepowodzenie wywołania metoda. Wartość 0 wskazuje, że wywołanie metoda zakończyła się pomyślnie.Wartość różną od zera wskazuje, że wystąpił błąd.

Remarks

Jeśli DatabaseName jest pusty następnie IsRemote jest ignorowana, a wartość pliku konfiguracja serwera raportu jest używana nazwa bazy danych.

Jeśli IsWindowsUser jest zestaw do true, UserName powinien być w formacie <domena>\<Nazwa użytkownika>.

Kiedy IsWindowsUser jest zestaw do true, wygenerowany skrypt udziela praw logowania użytkownika dla SQL Server, zestaw ting baza danych serwer raportów w domyślna baza danych i dotacji RSExec roli na baza danych serwer raportów, raport tymczasowej bazie danych serwera, wzorzec bazy danych i BAZĘ danych msdb systemu.

Kiedy IsWindowsUser jest ustawiona na true, metoda akceptuje standardowych identyfikatorów zabezpieczeń systemu Windows jako dane wejściowe. Standardowy Windows identyfikator SID lub usługa, nazwa konta jest podany, jest tłumaczony ciąg nazwy użytkownika.Jeśli baza danych jest lokalna, konto jest tłumaczony poprawna reprezentacja zlokalizowanych konta.Jeśli baza danych jest zdalne, konto jest reprezentowana jako konto tego komputera.

W poniższej tabela przedstawiono konta, które są przeliczane i ich reprezentacji zdalnego.

Konto / SID, który jest tłumaczony

Nazwa wspólna

Nazwa zdalnego

(S-1-5-18)

System lokalny

<Domena>\<NazwaKomputera>$

.\LocalSystem

System lokalny

<Domena>\<NazwaKomputera>$

ComputerName\LocalSystem

System lokalny

<Domena>\<NazwaKomputera>$

"System lokalny"

System lokalny

<Domena>\<NazwaKomputera>$

(S-1-5-20)

Usługa sieciowa

<Domena>\<NazwaKomputera>$

NT\Usługa

Usługa sieciowa

<Domena>\<NazwaKomputera>$

(S-1-5-19)

Usługa lokalna

Błąd — patrz poniżej.

NT\Usługa

Usługa lokalna

Błąd — patrz poniżej.

Na Windows 2000, jeśli korzystasz z wbudowanego konta i baza danych serwer raportów jest zdalna, zwracany jest błąd.

Jeśli LocalService określono wbudowanego konta i baza danych serwer raportów jest zdalna, zwracany jest błąd.

Kiedy IsWindowsUser wartość true i wartość podana w UserName musi zostać przetłumaczony, dostawca WMI określa, czy baza danych serwer raportów jest umieszczona na tym samym komputerze lub na komputerze zdalnym. Aby określić, w przypadku instalacji jest lokalna, dostawca WMI oblicza DatabaseServerName Właściwość przed na poniższej liście wartości. Jeśli zostanie znaleziony odpowiednik, baza danych jest lokalny.W przeciwnym razie jest zdalne.Wynikiem porównania jest rozróżniana wielkość liter.

Wartość DatabaseServerName

Przykład

“.”

“ (local) ”

“ LOKALNEGO ”

host lokalny

<MachineName>

testlab14

<MachineFQDN>

example.Redmond.Microsoft.com

<Adres IP>

180.012.345,678

Kiedy IsWindowsUser jest zestaw do true, wywołania dostawca WMI LookupAccountName Aby uzyskać identyfikator SID dla konta, a następnie wywołań LookupAccountSID Aby uzyskać nazwę w SQL Server skrypt. Daje to pewność, że nazwa konta używana będzie przekazać SQL Server Sprawdzanie poprawności.

Kiedy IsWindowsUser jest zestaw do false, udziela wygenerowany skrypt RSExec roli na baza danych serwer raportów, raport tymczasowej bazie danych serwera i bazy danych MSDB.

Kiedy IsWindowsUser jest zestaw do false, użytkownik programu SQL Server musi już istnieć na SQL Server dla skryptu, aby pomyślnie uruchomić.

Jeśli serwer raportów nie ma określonej baza danych serwer raportów, wywoływanie GrantRightsToDatabaseUser Zwraca błąd.

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

Wymagania

**Obszar nazw:**root\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 with Service Pack 2 (SP2) or Service Pack 1 (SP1); or Windows 2000 (all versions)