Udostępnij za pośrednictwem


Za pomocą polecenia Invoke PolicyEvaluation

Wywołanie PolicyEvaluation jest SQL Server polecenia raporty, czy obiekt miejsce docelowe zestaw obiektów SQL Server spełnia warunki określone w jeden lub więcej oparte na zasadach zarządzania zasady.

Za pomocą wywołania PolicyEvaluation

Wywołanie PolicyEvaluation ocenia jedną lub więcej zasad przeciwko zestaw obiektów SQL Server o nazwie miejsce docelowe ustawiony.Zestaw obiektów miejsce docelowe, pochodzi z serwer docelowy.Każda zasada określa warunki, które są dozwolone Państwa dla obiektów miejsce docelowe.Na przykład Zaufanego bazy danych Państwa zasad, które właściwość ZAUFANEGO bazy danych muszą być zestaw do OFF.

- adhocpolicyevaluationmode parametr określa akcje podejmowane:

  • Wyboru
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia użytkownika bieżącego logowania.Wykonaj dowolne obiekty nie ponownej konfiguracji.Jest to ustawienie domyślne.

  • CheckSqlScriptAsProxy
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia ## MS_PolicyTSQLExecutionLogin ## logowania serwera proxy.Wykonaj dowolne obiekty nie ponownej konfiguracji.

  • Konfigurowanie
    Raport stanu zgodności obiektów miejsce docelowe przy użyciu poświadczenia użytkownika bieżącego logowania.Ponownie skonfiguruj Ustawialne i przewidywalne opcje, które nie są zgodne z polityką.

Określając zasady

Jak określić zasady zależy od tego, gdzie są przechowywane.Zasady mogą być przechowywane w dwóch formatach:

  • Można je obiektów przechowywanych w magazynie zasad, takich jak wystąpienie aparatu bazy danych.Aby określić lokalizację zasady w magazynie zasad można użyć folderu SQLSERVER:\SQLPolicy.Można użyć apletów poleceń środowiska Windows PowerShell do filtru dane wejściowe zasady na podstawie ich właściwości, takie jak filtrować według kategorii zasad lub elementu Get filtrowanie Nazwa zasady za pomocą obiektu gdzie.

  • Mogą one być eksportowane jako pliki XML.Określ lokalizację plików XML, można użyć dysku systemowego pliku, na przykład D:.Windows PowerShell apletów poleceń, takich jak gdzie obiektu można użyć do filtrowania zasad na ich właściwości pliku, takie jak nazwa pliku.

Jeśli zasady są przechowywane w magazynie zasad, musi upłynąć w zestaw PSObjects wskazując zasady oceny.Zwykle wykonuje się to przez dane wyjściowe polecenia, takie jak element Get do Invoke policyevaluationi nie wymaga określenia -zasad parametru.Na przykład Microsoft najlepsze zasady zostały zaimportowane do wystąpienie aparat bazy danych, to polecenie oblicza Stan bazy danych zasad:

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
Get-Item "Database Status" | Invoke-PolicyEvaluation -TargetServerName "MYCOMPUTER"

W przykładzie pokazano użycie obiektu gdzie filtrowania wielu zasad z magazynu zasad, na podstawie ich PolicyCategory właściwość.Obiekty z przetaczania danych wyjściowych Gdzie obiekt jest zużywany przez Invoke policyevaluation.

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
gci | Where-Object {$_.PolicyCategory -eq "Microsoft Best Practices: Maintenance"} | Invoke-PolicyEvaluation -TargetServer "MYCOMPUTER"

Jeśli zasady są przechowywane jako pliki XML, należy użyć -zasad parametru, aby podać ścieżka i nazwę dla każdej zasady.Jeśli nie określisz ścieżka w -zasad parametru Invoke policyevaulation używa bieżącego ustawienia z sqlps ścieżka.Na przykład polecenie ocenia jedną z zasad najlepszej praktyki Microsoft instalowane razem z SQL Server w bazie domyślną nazwę użytkownika:

Invoke-PolicyEvaluation -Policy "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033\Database Status.xml" -TargetServerName "MYCOMPUTER"

To polecenie działa tak samo, tylko używa bieżącego sqlps ścieżka ustalenie lokalizacji pliku zasady XML:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName "MYCOMPUTER"

W tym przykładzie za pomocą Get childitem polecenia do pobierania wielu plików XML zasad i obiektów do potoku Invoke policyevaluation:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
gci "Database Status.xml", "Trustworthy Database.xml" | Invoke-PolicyEvaluation -TargetServer "MYCOMPUTER"

Określanie zestawu docelowego

Aby określić zestaw obiektów miejsce docelowe, należy użyć trzy parametry:

  • -miejsce doceloweNazwa_serwera Określa wystąpienie programu SQL Server zawierające miejsce docelowe obiektów.Można określić informacje w ciąg używany format zdefiniowany dla właściwość ConnectionString SQLConnection klasyMożna użyć SqlConnectionStringBuilder klasy do utworzenia połączenia poprawnie sformatowane ciąg.Można również utworzyć SqlStoreConnection object i przekazać je do - Serwerdocelowy.Jeśli podany ciąg, który zawiera nazwę serwera, Invoke policyevaluation używa uwierzytelniania systemu Windows do łączenia się z serwerem.

  • -TargetObjects obiektu lub tablicy obiekty reprezentujące obiekty programu SQL Server w miejsce docelowe zestaw.Na przykład można utworzyć tablicę Database obiektów klas w celu przekazania w - targetobjects.

  • -TargetExpressions ciąg znaków zawierający wyrażenie kwerendy, która określa obiektów miejsce docelowe zestaw.Wyrażenie kwerendy jest w postaci węzłów oddzielone "/" znak.Każdy węzeł jest w postaci TypObiektu [filtr].Typ obiektu jest jeden z obiektów w hieararchy obiektu SMO (SQL Server Management obiektu).Filtr jest wyrażenie filtry dla obiektów w tym węźle.Aby uzyskać więcej informacji, zobacz Kwerenda wyrażeń i unikatowych nazw zasobów.

Określ albo - targetobjects lub - targetexpression, nie obu.

W tym przykładzie użyto obiektu Sfc.SqlStoreConnection, aby określić serwer miejsce docelowe:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
$conn = New-Object Microsoft.SqlServer.Management.Sdk.Sfc.SqlStoreConnection("server='MYCOMPUTER';Trusted_Connection=True")
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName $conn

W tym przykładzie użyto - targetexpression do identyfikacji określonej bazy danych do oceny:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\DatabaseEngine\1033"
Invoke-PolicyEvaluation -Policy "Database Status.xml" -TargetServerName "MyComputer" -TargetExpression "Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2008R2']"

Ocena Analysis Services zasady

Do oceny polityk przed wystąpienie Usługi Analysis Services, należy załadować i zarejestrować wirtualny plik dziennika do sqlps., Utwórz zmienną obiektu połączenie usług Analysis Services i przekazanie zmiennej do - targetobject parametru.W tym przykładzie przedstawiono zasady konfiguracja obszar powierzchni najważniejsze wskazówki dla oceny Usługi Analysis Services:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\AnalysisServices\1033"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$SSASsvr = new-object Microsoft.AnalysisServices.Server
$SSASsvr.Connect("Data Source=Localhost")
Invoke-PolicyEvaluation -Policy "Surface Area Configuration for Analysis Services Features.xml" -TargetObject $SSASsvr

Ocena zasady usług raportowania

Ocena Reporting Services zasady, należy załadować i zarejestrować wirtualny plik dziennika do sqlps., utworzyć zmienną z Reporting Services połączenia obiektów i przekazanie zmiennej do - targetobject parametru.W tym przykładzie przedstawiono zasady konfiguracja obszar powierzchni najważniejsze wskazówki dla oceny Reporting Services:

sl "C:\Program Files\Microsoft SQL Server\100\Tools\Policies\ReportingServices\1033"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Dmf.Adapters")
$SSRSsvr = new-object Microsoft.SqlServer.Management.Adapters.RSContainer('MyComputer')
Invoke-PolicyEvaluation -Policy "Surface Area Configuration for Reporting Services 2008 Features.xml" -TargetObject $SSRSsvr

Formatowanie danych wyjściowych

Domyślnie dane wyjściowe Invoke policyevaluation jest wyświetlany w oknie wiersz polecenia jako zwięzły raport w formacie czytelnym dla człowieka.Można użyć - outputxml parametru do określenia, że polecenia zamiast produkują szczegółowy raport jako plik XML.Wywołać PolicyEvaluation używa systemów modelowania Interchange Format języka (SML-Jeżeli) schematu tak SML może odczytać pliku-Jeżeli czytników.

sl "SQLSERVER:\SQLPolicy\MyComputer\DEFAULT\Policies"
Invoke-PolicyEvaluation -Policy "Datbase Status" -TargetServer "MYCOMPUTER" -OutputXML > C:\MyReports\DatabaseStatusReport.xml