Compartilhar via


Navegar em caminhos do SQL Server PowerShell

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

O provedor PowerShell do Mecanismo de Banco de Dados expõe o conjunto de objetos em uma instância do SQL Server em uma estrutura semelhante a um caminho de arquivo. Você pode usar cmdlets do Windows PowerShell para navegar até o caminho do provedor e criar unidades personalizadas para encurtar o caminho que você tem que digitar.

Observação

Há dois módulos do SQL Server PowerShell; SqlServer e SQLPS.

O módulo SqlServer é o módulo atual do PowerShell a ser usado.

O módulo SQLPS está incluído na instalação do SQL Server (para compatibilidade com versões anteriores), mas não está mais sendo atualizado.

O módulo do SqlServer contém versões atualizadas dos cmdlets no SQLPS e inclui novos cmdlets para dar suporte aos recursos mais recentes do SQL.

Instale o módulo SqlServer da Galeria do PowerShell.

Para obter mais informações, confira SQL Server PowerShell.

O Windows PowerShell implementa cmdlets para navegar na estrutura do caminho que representa a hierarquia de objetos por um provedor do PowerShell. Ao navegar até um nó do caminho, você pode usar outros cmdlets para executar operações básicas no objeto atual. Como os cmdlets são usados com frequência, eles têm aliases pequenos e canônicos. Também existe um conjunto de aliases que mapeia os cmdlets para comandos semelhantes do prompt de comando e outro conjunto para comandos shell do UNIX.

O provedor do SQL Server implementa um subconjunto de cmdlets do provedor, mostrados na seguinte tabela:

cmdlet Alias canônico Alias de cmd Alias de shell do UNIX Descrição
Get-Location gl pwd pwd Obtém o nó atual.
Set-Location sl cd, chdir cd, chdir Altera o nó atual.
Get-ChildItem gci dir ls Lista os objetos armazenados no nó atual.
Get-Item gi Retorna as propriedades do item atual.
Rename-Item rni rn ren Renomeia um objeto.
Remove-Item ri del, rd rm, rmdir Remove um objeto.

Importante

Alguns identificadores do SQL Server (nomes de objeto) contêm caracteres não incompatíveis com os nomes de caminho do Windows PowerShell. Para obter mais informações sobre como usar os nomes que contêm esses caracteres, consulte SQL Server Identifiers in PowerShell.

Informações do SQL Server retornadas por Get-ChildItem

A informações retornadas por Get-ChildItem (ou seus aliases dir e ls ) dependem de seu local em um caminho SQLSERVER:.

Local do caminho Resultados de Get-ChildItem
SQLSERVER:\SQL Retorna o nome do computador local. Se você usou o SMO ou o WMI para se conectar às instâncias do Mecanismo de Banco de Dados em outros computadores, esses computadores também estarão listados.
SQLSERVER:\SQL\ComputerName A lista de instâncias do Mecanismo de Banco de Dados no computador.
SQLSERVER:\SQL\ComputerName\InstanceName A lista de tipos de objeto de nível superior na instância, como Pontos de Extremidade, Certificados e Bancos de Dados.
Nó da classe de objeto, como Bancos de Dados A lista de objetos desse tipo, como a lista de bancos de dados: master, model, AdventureWorks2022.
Nó do nome do objeto, como AdventureWorks2022 A lista de tipos de objeto contida no objeto. Por exemplo, um banco de dados poderia listar tipos de objeto, como tabelas e exibições.

Por padrão, Get-ChildItem não lista nenhum objeto de sistema. Use o parâmetro Force para ver objetos de sistema, como os objetos no esquema sys .

Unidades personalizadas

O Windows PowerShell permite que os usuários definam unidades virtuais que são conhecidas como unidades PowerShell. Essas unidades mapeiam os nós iniciais de uma instrução de caminho. Em geral, elas são usadas para encurtar caminhos que são digitados com frequência. SQLSERVER: os caminhos podem se tornar longos, ocupando muito espaço na janela do Windows PowerShell e exigindo muita digitação. Se você vai trabalhar muito em um nó de caminho específico, é possível definir uma unidade personalizada do Windows PowerShell mapeada para esse nó.

Usar aliases de cmdlet do PowerShell

Usar um alias de cmdlet

  • Em vez de digitar um nome de cmdlet completo, digite um alias mais curto ou um que mapeia para um prompt de comando familiar.

Exemplo de alias (PowerShell)

Por exemplo, você pode usar um dos seguintes conjuntos de cmdlets ou aliases para recuperar uma listagem das instâncias do SQL Server disponíveis navegando para a pasta SQLSERVER:\SQL e solicitando a lista de itens filho da pasta:

## 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  

Usar Get-ChildItem

Retornar informações usando Get-Childitem

  1. Navegue até o nó para o qual deseja obter uma lista de filhos

  2. Execute Get-Childitem para obter a lista.

Exemplo de Get-ChildItem (PowerShell)

Estes exemplos ilustram as informações retornadas por Get-Childitem para nós diferentes em um caminho de provedor do 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  

Criar uma unidade personalizada

Criar e usar uma unidade personalizada

  1. Use New-PSDrive para definir uma unidade personalizada. Use o parâmetro Root para especificar o caminho que é representado pelo nome de unidade personalizada.

  2. Referencie o nome de unidade personalizada em cmdlets de navegação do caminho como Set-Location.

Exemplo de unidade personalizada (PowerShell)

Este exemplo cria uma unidade virtual chamada AWDB que é mapeada para o nó de uma cópia implantada do banco de dados de exemplo AdventureWorks2022. A unidade virtual é usada para navegar até uma tabela no banco de dados.

## 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  

Consulte Também