Verwenden von SQL Server PowerShell-Pfaden

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Nach der Navigation zu einem Knoten in einem Datenbank-Engine -Anbieterpfad können Sie mit den Methoden und Eigenschaften des Datenbank-Engine -Verwaltungsobjekts, das dem Knoten zugeordnet ist, Arbeiten ausführen oder Informationen abrufen.

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.

Nach der Navigation zu einem Knoten in einem Datenbank-Engine-Anbieterpfad können Sie zwei Arten von Aktionen ausführen:

  • Sie können Windows PowerShell-Cmdlets ausführen, die Vorgänge an Knoten durchführen, z.B. Rename-Item.

  • Sie können die Methoden vom zugeordneten SQL Server -Modell des Verwaltungsobjekts aufrufen, z. B. SMO. Wenn Sie beispielsweise zum Knoten Databases in einem Pfad navigieren, können Sie die Methoden und Eigenschaften der Database -Klasse verwenden.

Der SQL Server -Anbieter wird zum Verwalten der Objekte in einer Instanz von Datenbank-Engineverwendet. Er wird nicht verwendet, um mit den Daten in Datenbanken zu arbeiten. Wenn Sie zu einer Tabelle oder einer Sicht navigiert sind, können Sie den Anbieter nicht dazu verwenden, Daten auszuwählen, einzufügen, zu aktualisieren oder zu löschen. Verwenden Sie das Cmdlet Invoke-Sqlcmd , um Daten in Tabellen und Sichten aus der Windows PowerShell-Umgebung abzufragen oder zu ändern. Weitere Informationen finden Sie unter Cmdlet Invoke-Sqlcmd.

Auflisten von Methoden und Eigenschaften

Auflisten von Methoden und Eigenschaften

Sie können das Cmdlet Get-Member verwenden, um die für bestimmte Objekte oder Objektklassen verfügbaren Methoden und Eigenschaften anzuzeigen.

Beispiele: Auflisten von Methoden und Eigenschaften

In diesem Beispiel wird eine Windows PowerShell-Variable auf die Database -Klasse von SMO festgelegt und werden die Methoden und Eigenschaften aufgeführt:

$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar | Get-Member -Type Methods  
$MyDBVar | Get-Member -Type Properties  

Sie können Get-Member ebenfalls verwenden, um die dem Endknoten eines Windows PowerShell-Pfads zugeordneten Methoden und Eigenschaften aufzulisten.

In diesem Beispiel wird zum Knoten Databases in einem SQLSERVER:-Pfad navigiert, und die Auflistungseigenschaften werden aufgeführt:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-Item . | Get-Member -Type Properties  

In diesem Beispiel wird zum Knoten AdventureWorks2022 in einem SQLSERVER:-Pfad navigiert, und die Objekteigenschaften werden aufgeführt:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022  
Get-Item . | Get-Member -Type Properties  

Verwenden von Methoden und Eigenschaften

Verwenden von SMO-Methoden und Eigenschaften

Sie können SMO-Methoden und Eigenschaften dazu verwenden, Arbeiten an Objekten eines Datenbank-Engine -Anbieterpfads auszuführen.

Beispiele: Verwenden von Methoden und Eigenschaften

In diesem Beispiel wird die Schema-Eigenschaft von SMO verwendet, um eine Liste der Tabellen aus dem Sales-Schema in AdventureWorks2022 abzurufen:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables  
Get-ChildItem | where {$_.Schema -eq "Sales"}  

In diesem Beispiel wird die SMO-Methode Script verwendet, um ein Skript zu erstellen, das die CREATE VIEW -Anweisungen enthält, die Sie zur erneuten Erstellung der Sichten in AdventureWorks2022 benötigen:

Remove-Item C:\PowerShell\CreateViews.sql  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Views  
foreach ($Item in Get-ChildItem) { $Item.Script() | Out-File -Filepath C:\PowerShell\CreateViews.sql -append }  

In diesem Beispiel wird mit der Methode SMO Create eine Datenbank erstellt und dann mit der Eigenschaft State angezeigt, ob die Datenbank vorhanden ist:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar.Parent = (Get-Item ..)  
$MyDBVar.Name = "NewDB"  
$MyDBVar.Create()  
$MyDBVar.State  

Weitere Informationen