SQL Server PowerShell Provider
O provedor do SQL Server para o Windows PowerShell expõe a hierarquia de objetos do SQL Server em caminhos semelhantes aos caminhos do sistema de arquivos. Você pode usar os caminhos para localizar um objeto e usar os métodos dos modelos SMO ( SQL Server Management Object) para executar ações nos objetos.
Benefícios do provedor do SQL Server PowerShell
Os caminhos implementados pelo provedor SQL Server habilitam a análise fácil e interativa de todos os objetos em uma instância do SQL Server. Você pode navegar nos caminhos usando aliases do Windows PowerShell semelhantes aos comandos usados para navegar em caminhos do sistema de arquivos.
A hierarquia do SQL Server PowerShell
Os produtos cujos modelos de objetos ou de dados podem ser representados em uma hierarquia usam os provedores do Windows PowerShell para expor as hierarquias. A hierarquia é exposta usando uma estrutura de unidades e caminhos semelhante à usada pelo sistema de arquivos do Windows.
Cada provedor do Windows PowerShell implementa uma ou mais unidades. Cada unidade é o nó raiz de uma hierarquia de objetos relacionados. O provedor do SQL Server implementa uma unidade SQLSERVER:. O provedor também define um conjunto de pastas primárias para a unidade SQLSERVER:. Cada pasta e suas respectivas subpastas representam o conjunto de objetos que podem ser acessados usando um modelo de objeto de gerenciamento do SQL Server . Quando o foco é uma subpasta em um caminho que começa com uma dessas pastas primárias, você pode usar os métodos do modelo de objeto associado para executar ações com o objeto representado pelo nó. As pastas Windows PowerShell implementadas pelo provedor SQL Server 2014 estão listadas na tabela a seguir.
Pasta | Namespace do modelo de objeto do SQL Server | Objetos |
---|---|---|
SQLSERVER:\SQL | Microsoft.SqlServer.Management.Smo Microsoft.SqlServer.Management.Smo.Agent Microsoft.SqlServer.Management.Smo.Broker Microsoft.SqlServer.Management.Smo.Mail |
Objetos do banco de dados, como tabelas, exibições e procedimentos armazenados. |
SQLSERVER:\SQLPolicy | Microsoft.SqlServer.Management.Dmf Microsoft.SqlServer.Management.Facets |
Objetos de gerenciamento baseado em políticas, como políticas e facetas. |
SQLSERVER:\SQLRegistration | Microsoft.SqlServer.Management.RegisteredServers Microsoft.SqlServer.Management.Smo.RegSvrEnum |
Objetos de servidor registrados, como grupos de servidores e servidores registrados. |
SQLSERVER:\Utility | Microsoft.SqlServer.Management.Utility | Objetos de utilitário, como instâncias gerenciadas do Mecanismo de Banco de Dados. |
SQLSERVER:\DAC | Microsoft.SqlServer.Management.DAC | Objetos de aplicativo da camada de dados como pacotes do DAC e operações como implantação de um DAC. |
SQLSERVER:\DataCollection | Microsoft.SqlServer.Management.Collector | Objetos de coletor de dados, como conjuntos de coleta e repositórios de configuração. |
SQLSERVER:\IntegrationServices | Microsoft.SqlServer.Management.IntegrationServices | Integration Services objetos como projetos, pacotes e ambientes. |
SQLSERVER:\SQLAS | Microsoft.AnalysisServices | Serviços de análise objetos como cubos, agregações e dimensões. |
Por exemplo, você pode usar a pasta SQLSERVER:\SQL para iniciar caminhos que podem representar qualquer objeto com suporte pelo modelo de objeto do SMO. A parte à esquerda de um caminho SQLSERVER:\SQL é SQLSERVER:\SQL\ComputerName\InstanceName. Os nós após o nome da instância alternam entre coleções de objetos (como Bancos de Dados ou Exibições) e nomes de objetos (como AdventureWorks2012). Os esquemas não são representados como classes de objetos. Ao especificar o nó para um objeto de alto nível em um esquema, como uma tabela ou exibição, é preciso especificar o nome do objeto no formato SchemaName.ObjectName.
Esse é o caminho da tabela Vendor no esquema de compra do banco de dados AdventureWorks2012 em uma instância padrão do Mecanismo de Banco de Dados no computador local:
SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Tables\Purchasing.Vendor
Para obter mais informações sobre a hierarquia de modelos de objeto do SMO, veja Diagrama de modelos de objetos SMO.
Os nós de coleção em um caminho são associados a uma classe de coleção no modelo de objeto associado. Os nós de nomes de objetos são associados a uma classe de objeto no modelo de objeto associado, como na tabela a seguir.
Caminho | Classe do SMO |
---|---|
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases | DatabaseCollection |
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012 | Database |
Tarefas de provedor SQL Server
Descrição da tarefa | Tópico |
---|---|
Descreve como usar cmdlets do Windows PowerShell para navegar pelos nós em um caminho, e a cada nó obtém uma lista dos objetos desse nó. | Navegar em caminhos do SQL Server PowerShell |
Descreve como usar os métodos e propriedades do SMO para relatar e executar trabalho no objeto representado por um nó em um caminho. Também descreve como obter uma lista dos métodos e propriedades do SMO para esse nó. | Trabalhar com caminhos do SQL Server PowerShell |
Descreve como converter um URN (Nome de Recurso Uniforme) de SMO em um caminho de provedor SQL Server. | Converter URNs em caminhos do Provedor do SQL Server |
Descreve como abrir conexões de Autenticação do SQL Server usando o provedor SQL Server . Por padrão, o provedor usa as conexões de Autenticação do Windows feitas usando as credenciais da conta Windows que executam a sessão do Windows PowerShell. | Gerenciar a autenticação no PowerShell do Mecanismo de Banco de Dados |