Visão geral
Neste guia, falaremos sobre como instalar e configurar uma instância do SQL Server e o
sqlcmd
cliente de linha de comando. Veremos como instalar e configurar esses componentes em seu computador para acesso local. Este guia cobrirá as seguintes plataformas:
- Configurando o SQL Server no Windows
- Configurando o SQL Server no macOS (com Docker)
- Configurando o SQL Server no Linux
- Ubuntu
- CentOS e Red Hat
- Com Docker
Navegue até as seções que correspondem às plataformas com as quais você trabalhará.
Configurando o SQL Server no Windows
A Microsoft fornece instaladores nativos do Windows para SQL Server em seu site e oferece várias versões do SQL Server adequadas para diferentes propósitos. Para os propósitos deste guia, faremos o download e instalaremos a edição gratuita do desenvolvedor. Você pode atualizar facilmente para uma versão paga da edição Developer se quiser usá-la para produção.
Para começar, visite a página da Microsoft para SQL Server. Encontre a seção relacionada à edição Developer e clique em Fazer download agora :
Quando o download estiver concluído, clique duas vezes no arquivo para executar o instalador (talvez seja necessário confirmar que deseja permitir que o programa faça alterações em seu computador).
Na tela inicial do instalador, você será solicitado a escolher o tipo de instalação que deseja realizar:
Escolha Básico continuar com uma instalação convencional usando as opções mais comuns.
Em seguida, você será solicitado a concordar com os termos de licenciamento da Developer Edition:
Depois de ler a licença e concordar com os termos, clique em Aceitar continuar.
Em seguida, confirme ou altere o local de instalação:
Quando estiver pronto, clique em Instalar para iniciar o processo de instalação.
O instalador começará a baixar e instalar componentes para configurar o SQL Server em seu computador:
Quando a instalação estiver concluída, aparecerá uma tela com as propriedades da instalação atual:
Para se conectar à nova instância do SQL Server imediatamente, clique em Conectar agora no fundo.
Uma nova janela irá
Cmd
aparecerá e fará o login automaticamente na instância do SQL Server usando o sqlcmd
cliente:Conforme mostrado em um comentário na parte superior da janela, você pode se conectar ao SQL Server manualmente a qualquer momento com o
sqlcmd
cliente digitando:sqlcmd -S <yourhostname> -E
Para sair da sessão SQL atual, digite:
EXIT
Configurando o SQL Server no macOS
Embora a Microsoft não forneça um instalador nativo para macOS, eles oferecem suporte à execução do SQL Server no macOS por meio do Docker. O contêiner principal do SQL Server Docker é construído usando um contêiner Linux, permitindo que qualquer host capaz de executar contêineres Docker execute o servidor de banco de dados.
Você precisará de pelo menos 2 GB de memória (provavelmente pelo menos um pouco mais) para executar a imagem com êxito, no entanto, o próprio Docker requer pelo menos 4 GB de memória.
Para começar, certifique-se de ter o Docker em seu sistema. O Docker Desktop para Mac inclui o Docker Engine e outros aplicativos relacionados. Se você ainda não tiver o Docker instalado, siga as instruções incluídas no link acima.
Depois de ter o Docker instalado e funcionando, você pode extrair a imagem do SQL Server Docker do Microsoft Container Registry digitando:
docker pull mcr.microsoft.com/mssql/server:2019-latest
Isso fará o download de todas as camadas de imagem necessárias para o seu sistema local, permitindo uma inicialização mais rápida.
Quando estiver pronto para iniciar o contêiner, digite o comando a seguir.
Lembre-se de substituir
<password>
com o valor da sua senha pretendida e escolha um valor que esteja de acordo com a política de senha da imagem. No momento da redação deste artigo, a política é definida como:"A senha deve ter pelo menos 8 caracteres e conter caracteres de três dos quatro conjuntos a seguir:letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos.":docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
O contêiner do SQL Server será iniciado em segundo plano. A sequência de caracteres exibida é o ID do novo contêiner.
Você pode verificar se o contêiner está funcionando digitando:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Você deve ver o
mssql
recipiente entre a lista. Se o contêiner não estiver em execução ou você tiver problemas, tente visualizar seus logs para ver se há alguma mensagem útil:docker logs mssql
O contêiner do SQL Server não apenas possui o servidor de banco de dados instalado, mas também algumas das ferramentas comuns disponíveis, incluindo o
sqlcmd
cliente de linha de comando. Para usar este cliente para se conectar à instância do banco de dados, você pode usar docker exec
para acessar o comando e autenticar no banco de dados:docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Você será autenticado no SQL Server dentro do contêiner e colocado em um shell SQL. Você pode verificar se tudo está funcionando digitando:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Para sair da sessão SQL e voltar ao seu shell normal, digite:
EXIT
Para encerrar o contêiner do SQL Server quando terminar, você pode interrompê-lo digitando:
docker stop mssql
Para remover a instância do contêiner (incluindo todos os dados dentro!), digite:
docker rm mssql
Para persistir os dados em seu contêiner do SQL Server, você pode usar uma das técnicas descritas na documentação da Microsoft ou dar uma olhada na própria documentação do Docker sobre como usar volumes de dados com contêineres.
Configurando o SQL Server no Linux
Os métodos de instalação diferem dependendo da distribuição Linux que você está usando. Siga a seção abaixo que corresponde à sua distribuição Linux. Também há instruções para usar o Docker se você preferir essa configuração ou quiser usar uma distribuição não listada.
- Ubuntu
- CentOS e Red Hat
- Com Docker
Ubuntu
A maneira mais fácil de instalar o SQL Server no Ubuntu 20.04 é instalar a partir dos repositórios dedicados fornecidos pela Microsoft. Sua máquina deve ter pelo menos 2 GB de memória para instalar e executar com êxito o software necessário.
Para começar, adicione uma nova definição de repositório ao seu sistema digitando:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
Você também precisa adicionar um repositório separado para obter acesso ao
sqlcmd
binário e outras ferramentas:sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
Em seguida, adicione a chave de assinatura do pacote da Microsoft a
apt
para que ele confie nos pacotes no novo repositório:wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Com o repositório configurado, você pode instalar o SQL Server e o
sqlcmd
cliente de linha de comando digitando:sudo apt install mssql-server mssql-tools unixodbc-dev
Quando a instalação estiver concluída, você precisará configurar sua nova instância de banco de dados. Para fazer isso, execute a
mssql-conf setup
incluída script para definir algumas das propriedades básicas do seu novo sistema:sudo /opt/mssql/bin/mssql-conf setup
Você receberá uma série de perguntas para configurar o servidor de banco de dados.
Primeiro, ele perguntará qual edição do servidor SQL você deseja usar:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Se você tiver uma licença paga, poderá escolher a versão apropriada. Se você estiver usando o servidor em um ambiente de não produção, é seguro escolher a edição do desenvolvedor.
Em seguida, você terá que aceitar os termos de licença novamente:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Por fim, você terá que definir e confirmar uma senha para a conta de administrador do sistema SQL Server (chamada de conta SA em muitos lugares):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Para usar o
sqlcmd
cliente para se conectar à sua instância do SQL Server, é mais fácil adicionar o mssql-tools
diretório binário para o seu PATH
. Para configurar isso, digite:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Depois, re-source um dos dois arquivos acima para avaliar o novo
PATH
para sua sessão atual:source ~/.bashrc
Agora você pode se conectar à sua instância de banco de dados digitando:
sqlcmd -U SA -S 127.0.0.1
Será solicitada a senha que você configurou anteriormente. Após a autenticação bem-sucedida, você será colocado em um shell SQL. A partir daqui, você pode verificar se tudo está funcionando imprimindo a versão do servidor:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64> (1 rows affected)
Para sair do shell SQL e voltar à linha de comando, você pode digitar:
EXIT
CentOS e Red Hat
A maneira mais fácil de instalar o SQL Server no CentOS ou Red Hat é usar os repositórios fornecidos pela Microsoft. Os hosts Linux devem ter pelo menos 2 GB de memória para instalar e executar o SQL Server.
Antes de instalar o SQL Server, você precisa instalar e configurar suas dependências. Precisamos do Python 2 e do OpenSSL 10 para continuar:
sudo yum install python2 compat-openssl10
Após a instalação do Python 2, configure o sistema para usá-lo como a instância padrão do Python:
sudo alternatives --config python
Na lista a seguir, selecione o número associado à instalação do Python 2. No exemplo abaixo, esta será a opção 2:
There are 2 programs which provide 'python'. Selection Command ----------------------------------------------- *+ 1 /usr/libexec/no-python 2 /usr/bin/python2 Enter to keep the current selection[+], or type selection number: 2
Com as dependências em vigor, agora você pode configurar o repositório SQL Server YUM:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
Depois, você precisa configurar um repositório adicional para ter acesso ao
sqlcmd
e outras ferramentas:sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
Depois que os repositórios estiverem configurados, instale o SQL Server digitando:
sudo yum install mssql-server mssql-tools unixODBC-devel
Quando a instalação estiver concluída, você precisará configurar sua nova instância de banco de dados. Para fazer isso, execute a
mssql-conf setup
incluída script para definir algumas das propriedades básicas do seu novo sistema:sudo /opt/mssql/bin/mssql-conf setup
Você receberá uma série de perguntas para configurar o servidor de banco de dados.
Primeiro, ele perguntará qual edição do servidor SQL você deseja usar:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Se você tiver uma licença paga, poderá escolher a versão apropriada. Se você estiver usando o servidor em um ambiente de não produção, é seguro escolher a edição do desenvolvedor.
Em seguida, você terá que aceitar os termos de licença novamente:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Por fim, você terá que definir e confirmar uma senha para a conta de administrador do sistema SQL Server (chamada de conta SA em muitos lugares):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Para usar o
sqlcmd
cliente para se conectar à sua instância do SQL Server, é mais fácil adicionar o mssql-tools
diretório binário para o seu PATH
. Para configurar isso, digite:echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Depois, re-source um dos dois arquivos acima para avaliar o novo
PATH
para sua sessão atual:source ~/.bashrc
Agora você pode se conectar à sua instância de banco de dados digitando:
sqlcmd -U SA -S 127.0.0.1
Será solicitada a senha que você configurou anteriormente. Após a autenticação bem-sucedida, você será colocado em um shell SQL. A partir daqui, você pode verificar se tudo está funcionando imprimindo a versão do servidor:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64> (1 rows affected)
Para sair do shell SQL e voltar à linha de comando, você pode digitar:
EXIT
Com Docker
Se você estiver usando uma distribuição Linux para a qual a Microsoft não fornece pacotes ou se simplesmente preferir, outra opção é executar o SQL Server com o Docker. Você precisará de pelo menos 2 GB de memória (provavelmente pelo menos um pouco mais) para executar a imagem com êxito.
Para começar, certifique-se de ter o Docker Engine em seu sistema. Você pode encontrar instruções detalhadas para várias plataformas na documentação do Docker Engine.
Depois de ter o Docker instalado e funcionando, você pode extrair a imagem do SQL Server Docker do Microsoft Container Registry digitando:
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Isso fará o download de todas as camadas de imagem necessárias para o seu sistema local, permitindo uma inicialização mais rápida.
Quando estiver pronto para iniciar o contêiner, digite o comando a seguir.
Lembre-se de substituir
<password>
com o valor da sua senha pretendida e escolha um valor que esteja de acordo com a política de senha da imagem. No momento da redação deste artigo, a política é definida como:"A senha deve ter pelo menos 8 caracteres e conter caracteres de três dos quatro conjuntos a seguir:letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos.":sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
O contêiner do SQL Server será iniciado em segundo plano. A sequência de caracteres exibida é o ID do novo contêiner.
Você pode verificar se o contêiner está funcionando digitando:
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Você deve ver o
mssql
recipiente entre a lista. Se o contêiner não estiver em execução ou você tiver problemas, tente visualizar seus logs para ver se há alguma mensagem útil:sudo docker logs mssql
O contêiner do SQL Server não apenas possui o servidor de banco de dados instalado, mas também algumas das ferramentas comuns disponíveis, incluindo o
sqlcmd
cliente de linha de comando. Para usar este cliente para se conectar à instância do banco de dados, você pode usar docker exec
para acessar o comando e autenticar no banco de dados:sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Você será autenticado no SQL Server dentro do contêiner e colocado em um shell SQL. Você pode verificar se tudo está funcionando digitando:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Para sair da sessão SQL e voltar ao seu shell normal, digite:
EXIT
Para encerrar o contêiner do SQL Server quando terminar, você pode interrompê-lo digitando:
sudo docker stop mssql
Para remover a instância do contêiner (incluindo todos os dados dentro!), digite:
sudo docker rm mssql
Para persistir os dados em seu contêiner do SQL Server, você pode usar uma das técnicas descritas na documentação da Microsoft ou dar uma olhada na própria documentação do Docker sobre como usar volumes de dados com contêineres.