Share via


Verwenden von SQL Server PowerShell-Pfaden

Nach der Navigation zu einem Knoten in einem Database Engine (Datenbankmodul)-Anbieterpfad können Sie mit den Methoden und Eigenschaften des Database Engine (Datenbankmodul)-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

Nach der Navigation zu einem Knoten in einem Database Engine (Datenbankmodul)-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 Database Engine (Datenbankmodul) verwendet. 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 Invoke-Sqlcmd-Cmdlet.

[Nach oben]

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 auch Get-Member 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

[Nach oben]

Verwenden von Methoden und Eigenschaften

Verwenden von SMO-Methoden und Eigenschaften

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

Beispiele: Verwenden von Methoden und Eigenschaften

In diesem Beispiel wird die SMO-Schema-Eigenschaft 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 erstellen, das die CREATE VIEW-Anweisungen enthält, die Sie zur erneuten Erstellung der Sichten 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

[Nach oben]

Siehe auch

Konzepte

SQL Server PowerShell-Anbieter

Navigieren in SQL Server PowerShell-Pfaden

Konvertieren von URNs in SQL Server-Anbieterpfade

SQL Server-PowerShell