Freigeben über


Verwenden von SQL Server PowerShell-Pfaden

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.

  1. Vorbereitungen

  2. So arbeiten Sie an einem Pfadknoten: Auflisten von Methoden und Eigenschaften, Verwenden von Methoden und Eigenschaften

Vorbereitungen

Nachdem Sie in einem Datenbank-Engine Anbieterpfad zu einem Knoten navigiert haben, 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

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 AdventureWorks2012 in einem SQLSERVER:-Pfad navigiert, und die Objekteigenschaften werden aufgeführt:

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

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 AdventureWorks2012 abzurufen:

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

In diesem Beispiel wird die SMO Script-Methode verwendet, um ein Skript zu generieren, das die CREATE VIEW Anweisungen enthält, die Sie zum erneuten Erstellen der Ansichten in AdventureWorks2012 benötigen:

Remove-Item C:\PowerShell\CreateViews.sql  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\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

SQL Server PowerShell-Anbieter
Navigieren in SQL Server PowerShell-Pfaden
Konvertieren von URNs in SQL Server-Anbieterpfade
SQL Server-PowerShell