Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server em Linux
Este artigo apresenta SQL Server PowerShell e orienta você por alguns exemplos sobre como usá-lo com o SQL Server no Linux. O suporte do PowerShell para SQL Server está atualmente disponível no Windows, macOS e Linux. Este artigo orienta você pelo uso de uma máquina Windows para se conectar a uma instância remota do SQL Server no Linux.
Instalar a versão mais recente do SQL PowerShell no Windows
O módulo SQL Server PowerShell no Windows é mantido na Galeria do PowerShell. Ao trabalhar com o SQL Server, você sempre deve usar a versão mais recente do módulo SqlServer PowerShell.
Antes de começar
Consulte os Problemas conhecidos do SQL Server no Linux.
Inicie o PowerShell e importe o módulo sqlserver
Vamos começar iniciando o PowerShell no Windows. Use Win+R, em seu computador Windows, e digite PowerShell para iniciar uma nova sessão do Windows PowerShell.
O SQL Server fornece um módulo do PowerShell chamado SqlServer. Você pode usar o módulo SqlServer para importar os componentes do SQL Server (SQL Server Provider e cmdlets) para um ambiente ou script do PowerShell.
Copie e cole o seguinte comando no prompt do PowerShell para importar o módulo SqlServer para sua sessão atual do PowerShell:
Import-Module SqlServer
Digite o seguinte comando no prompt do PowerShell para verificar se o módulo SqlServer foi importado corretamente:
Get-Module -Name SqlServer
O PowerShell deve exibir informações semelhantes à seguinte saída:
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 21.1.18102 SqlServer {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupList...
Conectar-se ao SQL Server e obter informações do servidor
Vamos usar o PowerShell no Windows para se conectar à sua instância do SQL Server no Linux e exibir algumas propriedades do servidor.
Copie e cole os seguintes comandos no prompt do PowerShell. Quando você executa esses comandos, o PowerShell irá:
- Exibir uma caixa de diálogo que solicita o nome do host ou o endereço IP da instância
- Exiba a caixa de diálogo solicitação de credenciais do Windows PowerShell, que solicita as credenciais. Você pode usar o seu nome de usuário SQL e a sua senha SQL para se conectar à sua instância do SQL Server no Linux.
- Utilize o cmdlet Get-SqlInstance para se conectar ao servidor e exibir várias propriedades.
Opcionalmente, você pode simplesmente substituir a variável $serverInstance pelo endereço IP ou pelo nome do host da sua instância do SQL Server.
# Prompt for instance & credentials to login into SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential
# Connect to the Server and get a few properties
Get-SqlInstance -ServerInstance $serverInstance -Credential $credential
# done
O PowerShell deve exibir informações semelhantes à seguinte saída:
Instance Name Version ProductLevel UpdateLevel HostPlatform HostDistribution
------------- ------- ------------ ----------- ------------ ----------------
your_server_instance 14.0.3048 RTM CU13 Linux Ubuntu
Observação
Se nada for exibido para esses valores, a conexão com a instância de destino do SQL Server provavelmente falhará. Certifique-se de que você pode usar as mesmas informações de conexão para se conectar a partir do SQL Server Management Studio. Em seguida, revise as recomendações de solução de problemas de conexão .
Usar o provedor do SQL Server PowerShell
Outra opção para se conectar à sua instância do SQL Server é usar o SQL Server PowerShell Provider. Este provedor permite que o utilizador navegue pela instância do SQL Server de maneira semelhante a estar a navegar na estrutura de árvore no Pesquisador de Objetos, mas na linha de comandos. Por padrão, esse provedor é apresentado como um PSDrive chamado SQLSERVER:\, que você pode usar para se conectar e navegar pelas instâncias do SQL Server às quais sua conta de domínio tem acesso. Para obter mais informações sobre como configurar a autenticação do Ative Directory para o SQL Server no Linux, consulte Etapas de configuração.
Você também pode usar a autenticação SQL com o Provedor do SQL Server PowerShell. Para fazer isso, use o cmdlet New-PSDrive para criar um novo PSDrive e fornecer as credenciais adequadas para se conectar.
Neste exemplo abaixo, você verá um exemplo de como criar um novo PSDrive usando a autenticação SQL.
# NOTE: We are reusing the values saved in the $credential variable from the above example.
New-PSDrive -Name SQLonDocker -PSProvider SqlServer -Root 'SQLSERVER:\SQL\localhost,10002\Default\' -Credential $credential
Você pode confirmar que a unidade foi criada executando o cmdlet Get-PSDrive.
Get-PSDrive
Depois de criar o seu novo PSDrive, pode começar a navegar nele.
dir SQLonDocker:\Databases
Veja como a saída pode ficar. Pode notar que a saída é semelhante à que o SQL Server Management Studio (SSMS) apresenta no nó de Bases de Dados. Ele exibe os bancos de dados de usuários, mas não os bancos de dados do sistema.
Name Status Size Space Recovery Compat. Owner
Available Model Level
---- ------ ---- ---------- -------- ------- -----
AdventureWorks2022 Normal 209.63 MB 1.31 MB Simple 130 sa
AdventureWorksDW2022 Normal 167.00 MB 32.47 MB Simple 110 sa
AdventureWorksDW2022 Normal 188.00 MB 78.10 MB Simple 120 sa
AdventureWorksDW2022 Normal 172.00 MB 74.76 MB Simple 130 sa
AdventureWorksDW2022 Normal 208.00 MB 40.57 MB Simple 140 sa
Se você precisar ver todos os bancos de dados em sua instância, uma opção é usar o cmdlet Get-SqlDatabase.
Examinar os logs de erro do SQL Server
As etapas a seguir usam o PowerShell no Windows para examinar os logs de erro na sua instância do SQL Server no Linux. Também usaremos o cmdlet Out-GridView para mostrar informações dos registos de erro numa exibição de grade.
Copie e cole os seguintes comandos no prompt do PowerShell. Eles podem levar alguns minutos para correr. Esses comandos fazem o seguinte:
- Exibir uma caixa de diálogo que solicita o nome do host ou o endereço IP da instância
- Exiba a caixa de diálogo solicitação de credenciais do Windows PowerShell, que solicita as credenciais. Você pode usar o seu nome de usuário SQL e a sua senha SQL para se conectar à sua instância do SQL Server no Linux.
- Use o cmdlet Get-SqlErrorLog para se conectar à instância do SQL Server no Linux e recuperar logs de erro desde Ontem
- Canalizar a saída para o cmdlet Out-GridView
Opcionalmente, você pode substituir a variável $serverInstance pelo endereço IP ou pelo nome do host da sua instância do SQL Server.
# Prompt for instance & credentials to login into SQL Server
$serverInstance = Read-Host "Enter the name of your instance"
$credential = Get-Credential
# Retrieve error logs since yesterday
Get-SqlErrorLog -ServerInstance $serverInstance -Credential $credential -Since Yesterday | Out-GridView
# done