Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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, visite o 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
<xref:Microsoft.SqlServer.Management.Smo.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, consulte Invoke-Sqlcmd.
Listar 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 .
Exemplo: listando métodos e propriedades
Este exemplo define uma variável do Windows PowerShell para a classe SMO <xref:Microsoft.SqlServer.Management.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
Usar 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.
Exemplo: 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