Condividi tramite


Esplorare i percorsi di SQL Server PowerShell

Il provider PowerShell del motore di database espone il set di oggetti in un'istanza di SQL Server in una struttura simile a un percorso di file. È possibile usare i cmdlet di Windows PowerShell per spostarsi nel percorso del provider e creare unità personalizzate per abbreviare il percorso da digitare.

Prima di iniziare

Windows PowerShell implementa i cmdlet per esplorare la struttura del percorso che rappresenta la gerarchia di oggetti supportati da un provider di PowerShell. Quando si passa a un nodo nel percorso, è possibile utilizzare altri cmdlet per eseguire operazioni di base sull'oggetto corrente. Poiché i cmdlet vengono usati di frequente, hanno alias brevi e canonici. Esiste anche un insieme di alias che mappa i cmdlet a comandi simili a quelli del prompt dei comandi e un altro insieme per i comandi della shell UNIX.

Il provider SQL Server implementa un subset dei cmdlet del provider, come illustrato nella tabella seguente.

cmdlet Alias canonico cmd alias Alias della shell UNIX Descrizione
Ottieni-Posizione Gl Pwd Pwd Ottiene il nodo attuale.
Set-Location Sl cd, chdir cd, chdir Modifica il nodo corrente.
Get-ChildItem gci dir Ls Elenca gli oggetti archiviati nel nodo corrente.
Get-Item Gi Restituisce le proprietà dell'elemento corrente.
rename-item rni Rn Ren Rinomina un oggetto .
Rimuovi-Elemento ri del, rd rm, rmdir Rimuove un oggetto .

Importante

Alcuni identificatori di SQL Server (nomi di oggetti) contengono caratteri che Windows PowerShell non supporta nei nomi dei percorsi. Per altre informazioni su come usare i nomi che contengono questi caratteri, vedere Identificatori di SQL Server in PowerShell.

Informazioni di SQL Server restituite da Get-ChildItem

Le informazioni restituite da Get-ChildItem (o i relativi alias dir e ls ) dipendono dalla posizione in un percorso SQLSERVER: .

Posizione del percorso Get-ChildItem i risultati
SQLSERVER:\SQL Restituisce il nome del computer locale. Se è stato usato SMO o WMI per connettersi alle istanze del motore di database in altri computer, vengono elencati anche tali computer.
SQLSERVER:\SQL\ComputerName L'elenco delle istanze del motore di database sul computer.
SQLSERVER:\SQL\ComputerName InstanceName\ Elenco dei tipi di oggetto di primo livello nell'istanza, ad esempio Endpoint, Certificati e Database.
Nodo della classe oggetto, ad esempio Database Elenco di oggetti di quel tipo, ad esempio l'elenco di database: master, model, AdventureWorks20008R2.
Nodo del nome dell'oggetto, ad esempio AdventureWorks2012 Elenco di tipi di oggetto contenuti nell'oggetto . Ad esempio, un database elenca i tipi di oggetto, ad esempio tabelle e viste.

Per impostazione predefinita, Get-ChildItem non elenca alcun oggetto di sistema. Usare il parametro Force per visualizzare gli oggetti di sistema, ad esempio gli oggetti nello schema sys .

Unità personalizzate

Windows PowerShell consente agli utenti di definire unità virtuali, denominate unità di PowerShell. Queste mappature riguardano i nodi iniziali di una dichiarazione di percorso. Vengono in genere usati per abbreviare i percorsi digitati di frequente. SQLSERVER: i percorsi possono diventare lunghi, occupando spazio nella finestra di Windows PowerShell e richiedendo di digitare molto. Se si intende eseguire molte operazioni in un nodo di percorso specifico, è possibile definire un'unità di Windows PowerShell personalizzata che esegue il mapping a tale nodo.

Usare gli alias dei cmdlet di PowerShell

Usare un alias di cmdlet

  • Invece di digitare il nome completo di un cmdlet, digita un alias più breve o uno che corrisponde a un comando del prompt dei comandi familiare.

Esempio di alias (PowerShell)

Ad esempio, è possibile usare uno dei seguenti set di cmdlet o alias per recuperare un elenco delle istanze di SQL Server disponibili passando alla cartella SQLSERVER:\SQL e richiedendo l'elenco di elementi figlio per la cartella:

## Shows using the full cmdet name.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## Shows using canonical aliases.  
sl SQLSERVER:\SQL  
gci  
  
## Shows using command prompt aliases.  
cd SQLSERVER:\SQL  
dir  
  
## Shows using Unix shell aliases.  
cd SQLSERVER:\SQL  
ls  

Usare Get-ChildItem

Restituire informazioni usando Get-Childitem

  1. Passare al nodo per il quale si desidera un elenco di childrem

  2. Eseguire Get-Childitem per ottenere l'elenco.

Esempio di Get-ChildItem (PowerShell)

Questi esempi illustrano le informazioni restituite da Get-Childitem per nodi diversi in un percorso del provider SQL Server.

## Return the current computer and any computer  
## to which you have made a SQL or WMI connection.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## List the instances of the Database Engine on the local computer.  
Set-Location SQLSERVER:\SQL\localhost  
Get-ChildItem  
  
## Lists the categories of objects available in the  
## default instance on the local computer.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT  
Get-ChildItem  
  
## Lists the databases from the local default instance.  
## The force parameter is used to include the system databases.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-ChildItem -force  

Creare un'unità personalizzata

Creare e usare un'unità personalizzata

  1. Usare New-PSDrive per definire un'unità personalizzata. Usare il Root parametro per specificare il percorso rappresentato dal nome dell'unità personalizzata.

  2. Fare riferimento al nome dell'unità personalizzata nei cmdlet di navigazione del percorso, ad esempio Set-Location.

Esempio di unità personalizzata (PowerShell)

Questo esempio crea un'unità virtuale denominata AWDB che si collega al nodo per una copia implementata del database di esempio AdventureWorks2012. L'unità virtuale viene quindi usata per accedere a una tabella nel database.

## Create a new virtual drive.  
New-PSDrive -Name AWDB -Root SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012  
  
## Use AWDB: to navigate to a specific table.  
Set-Location AWDB:\Tables\Purchasing.Vendor  

Vedere anche

Provider di PowerShell di SQL Server
Usare i percorsi di PowerShell di SQL Server
Convertire gli URN in percorsi del provider SQL Server
SQL Server PowerShell