Condividi tramite


Usare i percorsi di SQL Server PowerShell

Dopo essere passati a un nodo in un percorso del provider del motore di database, è possibile eseguire operazioni o recuperare informazioni usando i metodi e le proprietà dell'oggetto di gestione motore di database associato al nodo in questione.

  1. Prima di iniziare

  2. Per lavorare su un nodo di percorso: Elencare metodi e proprietà, utilizzando metodi e proprietà

Prima di iniziare

Dopo aver eseguito la navigazione in un nodo in un percorso del provider motore di database, è possibile eseguire due tipi di azioni:

  • È possibile eseguire i cmdlet di Windows PowerShell che operano sui nodi, ad esempio Rename-Item.

  • È possibile chiamare i metodi dal modello a oggetti di gestione di SQL Server associato, ad esempio SMO. Ad esempio, se si passa al nodo Databases in un percorso, è possibile usare i metodi e le proprietà della classe Database .

Il provider di SQL Server viene usato per gestire gli oggetti in un'istanza del motore di database. Non viene utilizzato per i dati nei database. Se si è passati a una tabella o una vista, non è possibile utilizzare il provider per selezionare, inserire, aggiornare o eliminare i dati. Usare il cmdlet Invoke-Sqlcmd per eseguire una query o per modificare dati in tabelle e viste nell'ambiente di Windows PowerShell. Per altre informazioni, vedere cmdlet Invoke-Sqlcmd.

Elenco di metodi e proprietà

Per visualizzare i metodi e le proprietà disponibili per specifici oggetti o classi di oggetti, usare il cmdlet Get-Member .

Esempi: elencare metodi e proprietà

In questo esempio viene impostata una variabile di Windows PowerShell sulla classe SMO Database e vengono elencati i metodi e le proprietà:

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

Si può anche usare Get-Member per visualizzare un elenco di proprietà e metodi associati al nodo finale di un percorso di Windows PowerShell.

In questo esempio si passa al nodo Databases in un percorso SQLSERVER: e vengono elencate le proprietà della raccolta:

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

In questo esempio si passa al nodo AdventureWorks2012 in un percorso SQLSERVER: e vengono elencate le proprietà dell'oggetto:

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

Utilizzo di metodi e proprietà SMO

Per eseguire operazioni su oggetti di un percorso del provider del motore di database, è possibile usare metodi e proprietà SMO.

Esempi: utilizzo di metodi e proprietà

In questo esempio viene usata la proprietà dello schema SMO per ottenere un elenco delle tabelle dallo schema Sales di AdventureWorks2012:

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

In questo esempio viene utilizzato il metodo SMO Script per generare uno script contenente le CREATE VIEW istruzioni necessarie per ricreare le viste in AdventureWorks2012:

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 questo esempio viene utilizzato il metodo Create SMO per creare un database e quindi viene utilizzata la proprietà State per indicare se il database esiste:

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  

Vedi anche

Provider PowerShell per SQL Server
Spostarsi all'interno dei percorsi di SQL Server PowerShell
Convertire URN in percorsi di provider di SQL Server
SQL Server PowerShell