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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de