Condividi tramite


Spostarsi all'interno dei percorsi di SQL Server PowerShell

Il provider Motore di database PowerShell espone il set di oggetti in un'istanza di SQL Server in una struttura analoga a un percorso di file. È possibile utilizzare cmdlet di Windows PowerShell per spostarsi all'interno del percorso del provider e creare unità personalizzate per rendere più breve il percorso da digitare.

Prima di iniziare

Windows PowerShell implementa cmdlet per spostarsi all'interno della struttura del percorso che rappresenta la gerarchia di oggetti supportati da un provider PowerShell. Quando si passa a un nodo nel percorso, è possibile utilizzare altri cmdlet per eseguire operazioni di base sull'oggetto corrente. Poiché vengono utilizzati frequentemente, i cmdlet dispongono di alias brevi e canonici. È inoltre presente un set di alias che esegue il mapping dei cmdlet a comandi simili del prompt dei comandi e un altro set per i comandi della shell di UNIX.

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

cmdlet

Alias canonico

Alias cmd

Alias di shell di UNIX

Descrizione

Get-Location

gl

pwd

pwd

Consente di ottenere il nodo corrente.

Set-Location

sl

cd, chdir

cd, chdir

Consente di modificare il nodo corrente.

Get-ChildItem

gci

dir

ls

Consente di visualizzare un elenco degli oggetti archiviati nel nodo corrente.

Get-Item

gi

Restituisce le proprietà dell'elemento corrente.

Rename-Item

rni

rn

ren

Consente di rinominare un oggetto.

Remove-Item

ri

del, rd

rm, rmdir

Consente di rimuovere un oggetto.

Nota importanteImportante

Alcuni identificatori (nomi di oggetto) di SQL Server contengono caratteri non supportati da Windows PowerShell nei nomi dei percorsi. Per ulteriori informazioni sull'utilizzo dei nomi che contengono questi caratteri, vedere Identificatori di SQL Server in PowerShell.

Informazioni su SQL Server restituite da Get-ChildItem

Le informazioni restituite da Get-ChildItem o dai relativi alias dir e ls dipendono dalla posizione nel percorso SQLSERVER:.

Posizione nel percorso

Risultati di Get-ChildItem

SQLSERVER:\SQL

Restituisce il nome del computer locale. Se è stato utilizzato SMO o WMI per connettersi a istanze del Motore di database in altri computer, vengono elencati anche tali computer.

SQLSERVER:\SQL\ComputerName

Elenco delle istanze di Motore di database nel computer.

SQLSERVER:\SQL\ComputerName\InstanceName

Elenco dei tipi di oggetto di primo livello nell'istanza, ad esempio Endpoint, Certificati e Database.

Nodo della classe di oggetto, ad esempio Database

Elenco di oggetti del tipo, ad esempio l'elenco di database:: master, model, AdventureWorks20008R2.

Nodo del nome dell'oggetto, ad esempio AdventureWorks2012

Elenco dei tipi di oggetto contenuti all'interno dell'oggetto. Per un database, ad esempio, vengono elencati tipi di oggetto come tabelle e viste.

Per impostazione predefinita, tramite Get-ChildItem non vengono elencati gli oggetti di sistema. Utilizzare 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, definite come unità di PowerShell. Per tali unità viene eseguito il mapping ai nodi iniziali di un'istruzione di percorso. Tali unità vengono in genere utilizzate per abbreviare percorsi digitati con frequenza. I percorsi SQLSERVER: possono diventare lunghi, occupando spazio nella finestra di Windows PowerShell e richiedendo molta digitazione. Se si prevede di lavorare molto in un particolare nodo del percorso, è possibile definire un'unità di Windows PowerShell personalizzata di cui è stato eseguito il mapping a tale nodo.

Utilizzare alias di cmdlet di PowerShell

Utilizzare un alias di cmdlet

  • Anziché digitare il nome completo di un cmdlet, digitare un alias più breve o uno con mapping a un comando comune del prompt dei comandi.

Esempio di alias (PowerShell)

È ad esempio possibile utilizzare uno dei set di cmdlet o alias seguenti 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

Utilizzare Get-ChildItem

Restituire informazioni utilizzando 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)

In questi esempi sono illustrate le informazioni restituite da Get-ChildItem per i 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 utilizzare un'unità personalizzata

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

  2. Fare riferimento al nome di unità personalizzata nei cmdlet di navigazione come Set-Location.

Esempio di unità personalizzata (PowerShell)

Questo esempio crea un'unità virtuale denominata AWDB con mapping al nodo di una copia distribuita del database di esempio AdventureWorks2012. L'unità virtuale è utilizzata quindi per passare 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

Concetti

Provider PowerShell per SQL Server

Utilizzo di percorsi di SQL Server PowerShell

Conversione di URN in percorsi di provider di SQL Server

SQL Server PowerShell