Provider PowerShell per SQL Server

Il provider SQL Server per Windows PowerShell espone la gerarchia degli oggetti di SQL Server in percorsi simili ai percorsi del file system. È possibile utilizzare i percorsi per individuare un oggetto e, successivamente, utilizzare i metodi dei modelli SMO (SQL Server Management Objects) per eseguire azioni sugli oggetti.

Vantaggi del provider PowerShell per SQL Server

Attraverso i percorsi implementati dal provider di SQL Server è possibile verificare facilmente e in modo interattivo tutti gli oggetti in un'istanza di SQL Server. È possibile spostarsi tra i percorsi utilizzando alias di Windows PowerShell simili ai comandi normalmente utilizzati per spostarsi tra i percorsi del file system.

Gerarchia di SQL Server PowerShell

Nei prodotti in cui i dati o i modelli a oggetti possono essere rappresentati in una gerarchia, per esporre le gerarchie vengono utilizzati i provider Windows PowerShell. La gerarchia viene esposta utilizzando una struttura di unità e percorsi simile a quelle utilizzate dal file system di Windows.

Ciascun provider Windows PowerShell implementa una o più unità. Ciascuna unità è il nodo radice di una gerarchia di oggetti correlati. Nel provider di SQL Server viene implementata un'unità SQLSERVER:. Nel provider viene inoltre definito un set di cartelle primarie per l'unità SQLSERVER:. Ogni cartella e le relative sottocartelle rappresentano il set di oggetti a cui è possibile accedere utilizzando un modello SMO (SQL Server Management Object). Quando si seleziona una sottocartella in un percorso che inizia con una di queste cartelle principali, è possibile utilizzare i metodi del modello a oggetti associato per eseguire azioni sull'oggetto rappresentato dal nodo. Le cartelle Windows PowerShell implementate dal provider SQL Server 2012 sono elencate nella tabella seguente:

Cartella

Spazio dei nomi del modello a oggetti di SQL Server

Oggetti

SQLSERVER:\SQL

Microsoft.SqlServer.Management.Smo

Microsoft.SqlServer.Management.Smo.Agent

Microsoft.SqlServer.Management.Smo.Broker

Microsoft.SqlServer.Management.Smo.Mail

Oggetti di database, come tabelle, viste e stored procedure.

SQLSERVER:\SQLPolicy

Microsoft.SqlServer.Management.Dmf

Microsoft.SqlServer.Management.Facets

Oggetti di gestione basata sui criteri, come criteri e facet.

SQLSERVER:\SQLRegistration

Microsoft.SqlServer.Management.RegisteredServers

Microsoft.SqlServer.Management.Smo.RegSvrEnum

Oggetti server registrati, come gruppi di server e server registrati.

SQLSERVER:\Utility

Microsoft.SqlServer.Management.Utility

Oggetti utilità, ad esempio le istanze gestite del Motore di database.

SQLSERVER:\DAC

Microsoft.SqlServer.Management.DAC

Oggetti applicazione del livello dati, ad esempio pacchetti DAC e operazioni quali l'implementazione di DAC.

SQLSERVER:\DataCollection

Microsoft.SqlServer.Management.Collector

Oggetti dell'agente di raccolta dati, ad esempio set di raccolta e archivi di configurazione.

SQLSERVER:\IntegrationServices

Microsoft.SqlServer.Management.IntegrationServices

Oggetti di Integration Services, quali progetti, pacchetti e ambienti.

SQLSERVER:\SQLAS

Microsoft.AnalysisServices

Oggetti di Analysis Services come ad esempio cubi, aggregazioni e dimensioni.

È ad esempio possibile utilizzare la cartella SQLSERVER:\SQL per iniziare percorsi che possono rappresentare qualsiasi oggetto supportato dal modello a oggetti SMO. La parte iniziale di un percorso SQLSERVER:\SQL è SQLSERVER:\SQL\ComputerName\InstanceName. I nodi che seguono il nome dell'istanza possono essere raccolte di oggetti, quali Databases o Views e nomi di oggetti (ad esempio AdventureWorks2012). Gli schemi non sono rappresentati come classi di oggetti. Quando si specifica il nodo per un oggetto di livello principale in uno schema, ad esempio una tabella o una vista, è necessario specificare il nome dell'oggetto nel formato SchemaName.ObjectName.

Di seguito è riportato il percorso della tabella Vendor nello schema Purchasing del database AdventureWorks2012 in un'istanza predefinita del Motore di database nel computer locale:

SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Tables\Purchasing.Vendor

Per ulteriori informazioni sulla gerarchia del modello a oggetti SMO, vedere Diagramma del modello a oggetti SMO.

I nodi delle raccolte in un percorso sono associati a una classe di raccolte nel modello a oggetti associato. I nodi dei nomi di oggetti sono associati a una classe di oggetti nel modello a oggetti associato, come indicato nella tabella seguente.

Percorso

Classe SMO

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases

DatabaseCollection

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012

Database

Attività del provider di SQL Server

Descrizione dell'attività

Argomento

Viene descritto come utilizzare i cmdlet di Windows PowerShell per spostarsi tra i nodi all'interno di un percorso e, a ogni nodo, ottenere un elenco degli oggetti in corrispondenza di quel nodo.

Spostarsi all'interno dei percorsi di SQL Server PowerShell

Viene descritto come utilizzare i metodi e le proprietà SMO per eseguire report e attività sull'oggetto rappresentato da un nodo in un percorso. Viene inoltre descritto come ottenere un elenco dei metodi e delle proprietà SMO per quel nodo.

Utilizzo di percorsi di SQL Server PowerShell

Viene descritto come convertire un Uniform Resource Name SMO (URN) in un percorso del provider SQL Server.

Conversione di URN in percorsi di provider di SQL Server

Viene descritto come stabilire connessioni con autenticazione di SQL Server tramite il provider di SQL Server. Per impostazione predefinita, il provider utilizza connessioni di autenticazione di Windows stabilite mediante le credenziali dell'account di Windows che esegue il processo di Windows PowerShell.

Gestire l'autenticazione in motore di database PowerShell

Vedere anche

Concetti

SQL Server PowerShell