Freigeben über


SQL Server PowerShell-Anbieter

Der SQL Server -Anbieter für Windows PowerShell macht die Hierarchie von SQL Server -Objekten auf ähnliche Weise wie in Dateisystempfaden verfügbar. Mithilfe der Pfade können Sie ein Objekt suchen und dann Methoden aus den SQL Server Management Object (SMO)-Modellen verwenden, um Aktionen für die Objekte auszuführen.

Hinweis

Es gibt zwei SQL Server PowerShell-Module: SqlServer und SQLPS.

Das SqlServer-Modul ist das zu verwendende aktuelle PowerShell-Modul.

Das SQLPS-Modul ist zwar in der SQL Server-Installation (für die Abwärtskompatibilität) enthalten, wird jedoch nicht mehr aktualisiert.

Das SqlServer-Modul enthält aktualisierte Versionen der Cmdlets in SQLPS sowie neue Cmdlets zur Unterstützung der neuesten SQL-Funktionen.

Installieren Sie das SqlServer-Modul aus dem PowerShell-Katalog.

Weitere Informationen finden Sie unter SQL Server PowerShell.

Vorteile des SQL Server PowerShell-Anbieters

Die vom SQL Server-Anbieter implementierten Pfade ermöglichen eine einfache und interaktive Überprüfung aller Objekte in einer Sql Server-Instanz. Sie können in den Pfaden navigieren, indem Sie Windows PowerShell-Aliase ähnlich den Befehlen verwenden, die Sie normalerweise zum Navigieren in den Dateisystempfaden verwenden.

Die SQL Server PowerShell-Hierarchie

Produkte, deren Daten oder Objektmodelle in einer Hierarchie dargestellt werden können, verwenden Windows PowerShell-Anbieter, um die Hierarchien verfügbar zu machen. Die Hierarchie wird mithilfe einer Laufwerks- und Pfadstruktur wie das Windows-Dateisystem verfügbar gemacht.

Jeder Windows PowerShell-Anbieter implementiert ein oder mehrere Laufwerke. Jedes Laufwerk ist der Stammknoten einer Hierarchie verwandter Objekte. Der SQL Server-Anbieter implementiert ein SQLSERVER-Laufwerk. Der Anbieter definiert auch einen Satz primärer Ordner für das SQLSERVER-Laufwerk. Jeder Ordner und seine Unterordner stellen die Objekte dar, auf die mithilfe eines SQL Server-Verwaltungsobjektmodells zugegriffen werden kann. Wenn Sie sich auf einen Unterordner in einem Pfad konzentrieren, der mit einem dieser primären Ordner beginnt, können Sie die Methoden aus dem zugeordneten Objektmodell verwenden, um Aktionen für das durch den Knoten dargestellte Objekt auszuführen. Die vom SQL Server-Anbieter implementierten Windows PowerShell-Ordner werden in der folgenden Tabelle aufgeführt:

Ordner Namespace des SQL Server-Objektmodells Objekte
SQLSERVER:\SQL Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.Management.Smo.Agent
Microsoft.SqlServer.Management.Smo.Broker
Microsoft.SqlServer.Management.Smo.Mail
Datenbankobjekte, wie Tabellen, Sichten und gespeicherte Prozeduren.
SQLSERVER:\SQLPolicy Microsoft.SqlServer.Management.Dmf
Microsoft.SqlServer.Management.Facets
Richtlinienbasierte Verwaltungsobjekte, z. B. Richtlinien und Facets
SQLSERVER:\SQLRegistration Microsoft.SqlServer.Management.RegisteredServers Registrierte Serverobjekte, z. B. Servergruppen und registrierte Server
SQLSERVER:\DataCollection Microsoft.SqlServer.Management.Collector Datensammler-Objekte, z. B. Sammlungssätze und Konfigurationsspeicher
SQLSERVER:\SSIS Microsoft.SqlServer.Management.IntegrationServices SSIS-Objekte wie Projekte, Pakete und Umgebungen.
SQLSERVER:\XEvent Microsoft.SqlServer.Management.XEvent Erweiterte Ereignisse von SQL Server
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScoped Erweiterte Ereignisse von SQL Server
SQLSERVER:\SQLAS Microsoft.AnalysisServices Analysis Services -Objekte, z. B. Cubes, Aggregationen und Dimensionen

Sie können z. B. den Ordner SQLSERVER:\SQL verwenden, um Pfade zu starten, die jedes Objekt darstellen, das vom SMO-Objektmodell unterstützt wird. Der erste Teil eines SQLSERVER:\SQL-Pfads ist SQLSERVER:\SQLComputerName\InstanceName. Die Knoten nach dem Instanznamen sind Objektsammlungen (wie Datenbanken oder Sichten) und Objektnamen (wie AdventureWorks2022). Schemas werden nicht als Objektklassen dargestellt. Wenn Sie den Knoten für ein Objekt der höchsten Ebene in einem Schema angeben, wie beispielsweise eine Tabelle oder eine Sicht, müssen Sie den Objektnamen im Format Schemaname.Objektnameangeben.

Im folgenden Beispiel wird der Pfad der Vendor-Tabelle im Purchasing-Schema der Datenbank AdventureWorks2022 in einer Standardinstanz von Datenbank-Engine auf dem lokalen Computer angezeigt:

SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables\Purchasing.Vendor

Weitere Informationen zur SMO-Objektmodellhierarchie finden Sie unter /sql/relational-databases/server-management-objects-smo/smo-object-model-diagram.

Auflistungsknoten in einem Pfad werden im zugeordneten Objektmodell einer Auflistung zugeordnet. Objektnamenknoten werden wie in der folgenden Tabelle dargestellt einer Objektklasse im zugeordneten Objektmodell zugeordnet:

Pfad SMO-Klasse
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases Microsoft.SqlServer.Management.Smo.DatabaseCollection>
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022 Microsoft.SqlServer.Management.Smo.Database>

SQL Server-Anbieteraufgaben

Vorgangsbeschreibung Artikel
Beschreibt, wie Sie mithilfe von Windows PowerShell-Cmdlets durch die Knoten in einem Pfad navigieren und für jeden Knoten eine Liste der Objekte auf diesem Knoten abrufen. Navigieren in SQL Server PowerShell-Pfaden
Beschreibt, wie die SMO-Methoden und -Eigenschaften zum Melden und Ausführen von Arbeiten am Objekt verwendet werden, die ein Knoten in einem Pfad darstellt. Beschreibt darüber hinaus, wie eine Liste der SMO-Methoden und SMO-Eigenschaften für diesen Knoten abgerufen wird. Verwenden von SQL Server PowerShell-Pfaden
Beschreibt das Konvertieren eines SMO Uniform Resource Name (URN) in einen SQL Server-Anbieterpfad. Convert-UrnToPath
Beschreibt, wie SQL Server-Authentifizierungsverbindungen mithilfe des SQL Server-Anbieters geöffnet werden. Standardmäßig verwendet der Anbieter Windows-Authentifizierungsverbindungen, die mit den Windows-Kontoanmeldeinformationen unter Verwendung der Windows PowerShell-Sitzung hergestellt wurden. Verwalten der Authentifizierung in PowerShell der Datenbank-Engine

Nächster Schritt