À medida que o SQL Server continua a expandir seu alcance para sistemas operacionais Linux, os administradores que estão familiarizados com o Windows PowerShell podem se perguntar se ainda podem aproveitar suas habilidades existentes para gerenciar o SQL Server no Linux. A resposta é sim, graças ao PowerShell Core.
O PowerShell Core é uma versão de código aberto e multiplataforma do PowerShell que pode ser executada em várias plataformas não-Windows, incluindo Linux. Ele permite que os administradores padronizem e automatizem a administração de sistemas operacionais Windows e Linux, bem como as aplicações que estão sendo executadas neles.
Anteriormente, os administradores do Windows tinham que aprender comandos e scripts bash para gerenciar sistemas Linux. No entanto, com o PowerShell Core, eles podem aproveitar seu conhecimento existente do Windows PowerShell para gerenciar o SQL Server no Linux usando ferramentas familiares, como módulos do PowerShell do SQL Server e dbatools.
Nesta série de dicas, exploraremos como usar o PowerShell Core no Linux em conjunto com os módulos do PowerShell do SQL Server e dbatools para gerenciar efetivamente o SQL Server. Vamos começar instalando o PowerShell Core no Linux.
Instalando o PowerShell Core no Linux
O PowerShell Core é suportado em várias distribuições Linux, incluindo Ubuntu, Debian, CentOS, Red Hat Enterprise Linux (RHEL), openSUSE, Fedora e Arch Linux. Para fins desta dica, vamos nos concentrar nas distribuições Linux suportadas pelo SQL Server, ou seja, RHEL/CentOS 7 e Ubuntu 16.04.
Para instalar o PowerShell Core no RHEL/CentOS, você pode seguir estas etapas:
- Baixe o arquivo de configuração do repositório Red Hat do Microsoft SQL Server:
- Instale o PowerShell Core no RHEL/CentOS:
sudo curl -o /etc/yum.repos.d/microsoft.repo https://packages.microsoft.com/config/rhel/7/prod.repo
sudo yum install -y powershell
Para o Ubuntu 16.04, o processo de instalação é um pouco diferente:
- Baixe o arquivo de Pacote de Software Debian contendo o arquivo de repositório da Microsoft e a chave GPG:
- Registre o arquivo de repositório da Microsoft e a chave GPG baixados no sistema Ubuntu Linux:
- Atualize a lista de pacotes:
- Instale o PowerShell Core no Ubuntu 16.04:
sudo wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y powershell
Após a conclusão da instalação, você pode iniciar o PowerShell Core executando o comando pwsh
. Isso abrirá uma sessão do PowerShell Core onde você pode usar tanto os cmdlets do PowerShell Core quanto os comandos Linux padrão.
Trabalhando com o PowerShell Core no Linux
Embora o PowerShell Core no Linux forneça um ambiente familiar para os administradores do Windows, existem algumas diferenças a serem observadas. Por exemplo, nem todos os cmdlets do Windows PowerShell estão disponíveis no PowerShell Core no Linux.
Para ver os cmdlets do PowerShell Core disponíveis no Linux, você pode usar o cmdlet Get-Command
. Isso exibirá uma lista de cmdlets com os quais você pode trabalhar.
Também é útil familiarizar-se com os cmdlets Get-Help
e Get-Member
, que fornecem informações sobre o uso de cmdlets e propriedades de objetos, respectivamente.
Além disso, você pode usar o cmdlet Get-Alias
para listar os aliases disponíveis que mapeiam para os cmdlets do PowerShell Core. Isso pode ajudá-lo a identificar se um comando é um comando nativo do Linux ou um alias do PowerShell Core.
Uma diferença importante a ser observada é que a saída dos comandos do Linux é em texto, enquanto a saída dos comandos do PowerShell é em objetos. Isso significa que, ao combinar comandos do Linux com cmdlets do PowerShell, você pode precisar realizar manipulação de strings para recuperar valores específicos.
Por exemplo, se você deseja recuperar o PID de um processo em execução do PowerShell Core em seu sistema Linux, você usaria o comando ps
em combinação com os comandos grep
e cut
. No PowerShell, você pode obter o mesmo resultado usando o cmdlet Get-Process
e selecionando a propriedade Id
.
Nas próximas dicas desta série, exploraremos como combinar comandos do Linux com cmdlets do PowerShell para gerenciar efetivamente o SQL Server no Linux usando o PowerShell Core.
Fique ligado para mais informações sobre como gerenciar o SQL Server no Linux com o PowerShell Core!