Share via


Trabalhar com 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)

Depois de navegar para um nó em um caminho de provedor do Mecanismo de Banco de Dados , pode executar trabalho ou recuperar informações usando os métodos e as propriedades do objeto de gerenciamento do Mecanismo de Banco de Dados associado com o nó.

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.

Depois de navegar até um nó em um caminho do provedor do Mecanismo de Banco de Dados, você poderá executar dois tipos de ações:

  • Você pode executar os cmdlets do Windows PowerShell que funcionam em nós, como Rename-Item.

  • Você pode chamar os métodos do modelo de objeto de gerenciamento associado do SQL Server , como SMO. Por exemplo, se você navegar até o nó Banco de Dados em um caminho, poderá usar os métodos e as propriedades da classe Database .

O provedor do SQL Server é usado para gerenciar os objetos em uma instância do Mecanismo de Banco de Dados. Ele não é usado para trabalhar com dados em bancos de dados. Se você navegou até uma tabela ou exibição, não é possível usar o provedor para selecionar, inserir, atualizar ou excluir dados. Use o cmdlet Invoke-Sqlcmd para consultar ou alterar dados em tabelas e exibições do ambiente do Windows PowerShell. Para obter mais informações, veja Cmdlet Invoke-Sqlcmd.

Listando métodos e propriedades

Listando métodos e propriedades

Para exibir os métodos e as propriedades disponíveis para objetos ou classes de objetos específicos, use o cmdlet Get-Member .

Exemplos: Listando métodos e propriedades

Este exemplo define uma variável do Windows PowerShell para a classe SMO Database e lista os métodos e as propriedades:

$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar | Get-Member -Type Methods  
$MyDBVar | Get-Member -Type Properties  

Você também pode usar Get-Member para listar os métodos e as propriedades associadas ao nó final de um caminho do Windows PowerShell.

Este exemplo navega até o nó Bancos de Dados em um caminho SQLSERVER: e lista as propriedades da coleção:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-Item . | Get-Member -Type Properties  

Este exemplo navega até o nó AdventureWorks2022 em um caminho SQLSERVER: e lista as propriedades dos objetos:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022  
Get-Item . | Get-Member -Type Properties  

Usando métodos e propriedades

Usando métodos e propriedades do SMO

Para executar trabalhos em objetos de um caminho de provedor do Mecanismo de Banco de Dados , você pode usar métodos e propriedades do SMO.

Exemplos: Usando métodos e propriedades

Este exemplo usa a propriedade SMO Schema para obter a lista de tabelas do esquema Sales em AdventureWorks2022:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables  
Get-ChildItem | where {$_.Schema -eq "Sales"}  

Este exemplo usa o método do SMO Script para gerar um script que contém as instruções CREATE VIEW necessárias para recriar as exibições em AdventureWorks2022:

Remove-Item C:\PowerShell\CreateViews.sql  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Views  
foreach ($Item in Get-ChildItem) { $Item.Script() | Out-File -Filepath C:\PowerShell\CreateViews.sql -append }  

Este exemplo usa o método Create do SMO para criar um banco de dados e usa a propriedade State para mostrar se o banco de dados existe:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar.Parent = (Get-Item ..)  
$MyDBVar.Name = "NewDB"  
$MyDBVar.Create()  
$MyDBVar.State  

Consulte Também