Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
Annotazioni
Sono disponibili due moduli di SQL Server PowerShell. SqlServer e SQLPS.
Il modulo SqlServer è il modulo di PowerShell corrente da usare.
Il modulo SQLPS è incluso nell'installazione di SQL Server (per compatibilità con le versioni precedenti) ma non viene più aggiornato.
Il modulo SqlServer contiene versioni aggiornate dei cmdlet in SQLPS e include nuovi cmdlet per supportare le funzionalità SQL più recenti.
Installare il modulo SqlServer da PowerShell Gallery.
Per altre informazioni, vedere SQL Server PowerShell.
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 | alias cmd | 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, tali computer sono elencati anche. |
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 , AdventureWorks2022 . |
Nodo del nome dell'oggetto, ad esempio AdventureWorks2022 |
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 unità eseguono il mapping sui nodi iniziali di un'istruzione path. Vengono in genere usati per abbreviare i percorsi digitati di frequente. SQLSERVER: i percorsi possono ottenere molto tempo, occupando spazio nella finestra di Windows PowerShell e richiedendo molta digitazione. 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: Alias
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
Passare al nodo per il quale si desidera un elenco di elementi figlio
Eseguire Get-Childitem per ottenere l'elenco.
Esempio: Get-ChildItem
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
Usare New-PSDrive per definire un'unità personalizzata. Usare il parametro Root per specificare il percorso rappresentato dal nome dell'unità personalizzata.
Fare riferimento al nome dell'unità personalizzata nei cmdlet di navigazione del percorso, ad esempio Set-Location.
Esempio: Unità personalizzata
Questo esempio crea un'unità virtuale denominata AWDB che esegue il mapping al nodo per una copia distribuita del AdventureWorks2022
database di esempio. 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\AdventureWorks2022
## Use AWDB: to navigate to a specific table.
Set-Location AWDB:\Tables\Purchasing.Vendor