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.
Aplica-se a:SQL Server no Linux
O Subsistema do Windows para Linux (WSL) é um recurso no Windows que permite executar um ambiente Linux diretamente em seu computador Windows, sem a necessidade de uma máquina virtual ou inicialização dupla. O WSL fornece uma experiência contínua e produtiva para desenvolvedores que desejam usar o Windows e o Linux simultaneamente. Para obter mais informações, consulte O que é o Subsistema do Windows para Linux?
O SQL Server no WSL é somente para uso de desenvolvimento
O SQL Server no WSL 2 destina-se apenas a fins de desenvolvimento e não tem suporte para cargas de trabalho de produção. É recomendável executar o SQL Server em ambientes WSL em uma das plataformas com suporte , conforme documentado, para a versão do SQL Server que você pretende executar.
Para quaisquer problemas relacionados ao suporte, você pode obter suporte da Microsoft.
Introdução ao SQL Server no WSL 2
Há duas maneiras de começar a usar o SQL Server no WSL 2:
Instale o SQL Server como um
systemdserviço, que pode ser gerenciado usandosystemctlcomandos. Certifique-se de habilitarsystemdno WSL. Para obter mais informações, consulte Como habilitar o sistema.Implantar contêineres do SQL Server no WSL. Para essa opção, você precisa instalar um mecanismo de contêiner do Linux no WSL, como Docker ou Podman, e implantar contêineres do SQL Server.
Pré-requisitos
Instalar o WSL 2. Verifique se você está executando o Windows 10 versão 2004 ou uma versão posterior (Build 19041 e superior) ou Windows 11. Para instalar o WSL, abra um prompt de comando do PowerShell ou do Windows no modo de administrador e siga as instruções na próxima seção.
Para obter instruções detalhadas, consulte Como instalar o Linux no Windows com o WSL. Para obter informações sobre como configurar o ambiente WSL para desenvolvimento, consulte Configurar um ambiente de desenvolvimento WSL.
Instalar o SQL Server no WSL
Esta seção descreve as etapas para configurar uma distribuição do Linux no WSL e como instalar o SQL Server nessa distribuição do Linux.
Escolher distribuição do Linux
Você pode listar todas as distribuições válidas que podem ser instaladas no WSL usando o seguinte comando:
wsl -l -o
A saída é semelhante ao exemplo a seguir.
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
Para este início rápido, instale o Ubuntu 22.04 e instale o SQL Server 2022 nessa distribuição.
Para instalar o Ubuntu 22.04, execute o comando a seguir. Anote a conta de usuário e a senha do UNIX. Neste exemplo, use wsluser como o nome de usuário.
wsl --install -d Ubuntu-22.04
Você deverá ver uma saída semelhante ao exemplo a seguir. No final, ele deve mostrar que você está conectado ao shell bash do Ubuntu 22.04.
Installing: Ubuntu 22.04 LTS
Ubuntu 22.04 LTS has been installed.
Launching Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: wsluser
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Tue Dec 3 00:32:14 IST 2024
System load: 0.33 Processes: 32
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 2% IPv4 address for eth0: 10.18.123.249
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/wsluser/.hushlogin file.
Instale o SQL Server
Depois de fazer logon no shell bash do Ubuntu 22.04, você pode seguir as etapas descritas no Início Rápido: Instalar o SQL Server e criar um banco de dados no Ubuntu para instalar o SQL Server 2022.
Você também deve instalar as ferramentas de linha de comando do SQL Server .
Obter o endereço IP
Para identificar o endereço IP ao qual se conectar usando o SSMS (SQL Server Management Studio), execute o comando da ifconfig seguinte maneira:
ifconfig
Você deverá ver uma saída semelhante ao exemplo a seguir.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.19.50.241 netmask 255.255.240.0 broadcast 10.19.63.255
inet6 fe80::215:5dff:fe76:c05d prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:76:c0:5d txqueuelen 1000 (Ethernet)
RX packets 2146 bytes 1452448 (1.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1905 bytes 345288 (345.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2039 bytes 4144340 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2039 bytes 4144340 (4.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Implantar contêineres do SQL Server no WSL
Para implantar contêineres no WSL, primeiro você precisa instalar um mecanismo de contêiner do Linux, como o Docker. Para obter mais informações, consulte Introdução aos contêineres remotos do Docker no WSL. Depois de instalar o mecanismo do Docker, implante a imagem de contêiner do SQL Server da seguinte maneira.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-d mcr.microsoft.com/mssql/server:2022-latest
Ao implantar um contêiner para o SQL Server 2025 (17.x) ou uma versão posterior, use MSSQL_PID=DeveloperStandard para a edição Standard Developer e MSSQL_PID=Developer para o Enterprise Developer Edition.
Observação
Sua senha deve seguir a política de senha padrão do SQL Server. Por padrão, a senha precisa ter pelo menos oito caracteres e conter caracteres de três dos seguintes quatro conjuntos: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As senhas podem ter até 128 caracteres. Use senhas longas e complexas.
Adicionar armazenamento persistente com WSL para contêineres do SQL Server
Você pode criar volumes de dados conforme descrito em Montar um diretório de host como volume de dados.
Por exemplo, execute o comando a seguir para configurar um volume chamado sql_volume localizado em /var/opt/mssql/.
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
-e "MSSQL_PID=Developer" -e "MSSQL_AGENT_ENABLED=true" \
-p 14333:1433 --name sqlcontainerwsl --hostname sqlcontainerwsl \
-v sql_volume:/var/opt/mssql/ \
-d mcr.microsoft.com/mssql/server:2022-latest
Ao implantar um contêiner para o SQL Server 2025 (17.x) ou uma versão posterior, use MSSQL_PID=DeveloperStandard para a edição Standard Developer e MSSQL_PID=Developer para o Enterprise Developer Edition.
Mesmo que você execute o wsl --terminate comando, os dados não serão perdidos. Quando você inicia o WSL novamente e executa o docker run comando para implantar usando o sql_volume volume, ele ainda tem todos os dados intactos.
Se você quiser excluir o volume persistente, certifique-se de que o contêiner que usa o volume seja interrompido e removido e execute o comando a seguir.
docker volume rm sql_volume
Observações
Você deve ser capaz de configurar a maioria dos recursos compatíveis com o SQL Server no Linux para fins de desenvolvimento, exceto os recursos de continuidade de negócios que dependem de pilhas de clustering. Esses recursos, como Pacemaker ou HPE Serviceguard, não têm suporte no WSL.
Para obter uma lista completa de recursos sem suporte para o SQL Server no Linux, consulte Edições e recursos com suporte do SQL Server 2022 no Linux.
Conectar-se localmente
As etapas a seguir usam o sqlcmd para conectar-se localmente à nova instância do SQL Server.
Cuidado
Sua senha deve seguir a política de senha padrão do SQL Server. Por padrão, a senha precisa ter pelo menos oito caracteres e conter caracteres de três dos seguintes quatro conjuntos: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As senhas podem ter até 128 caracteres. Use senhas longas e complexas.
Execute o sqlcmd com parâmetros para o nome do SQL Server (
-S), o nome de usuário (-U) e a senha (-P). Neste tutorial, você se conecta localmente, portanto, o nome do servidor élocalhost. O nome de usuário ésae a senha é a mesma fornecida para a contasadurante a instalação.sqlcmd -S localhost -U sa -P '<password>'Observação
As versões mais recentes do sqlcmd são seguras por padrão. Para obter mais informações sobre a criptografia de conexão, confira Utilitário sqlcmd para Windows e Conectar com sqlcmd para Linux e macOS. Se a conexão não for bem-sucedida, você poderá adicionar a opção
-Noao sqlcmd para especificar que a criptografia é opcional, não obrigatória.É possível omitir a senha na linha de comando para receber uma solicitação para inseri-la.
Se depois você decidir se conectar remotamente, especifique o nome do computador ou endereço IP do parâmetro
-Se verifique se a porta 1433 está aberta no firewall.Se isso funcionar, você será levado a um prompt de comando sqlcmd:
1>.Se houver uma falha de conexão, primeiro, tente diagnosticar o problema da mensagem de erro. Em seguida, examine as recomendações de solução de problemas de conexão.
Criar e consultar dados
As seções a seguir descrevem como usar o sqlcmd para criar um novo banco de dados, adicionar dados e executar uma consulta simples.
Para mais informações sobre como escrever consultas e instruções em Transact-SQL, veja Tutorial: Escrever instruções do Transact-SQL.
Criar um novo banco de dados
As etapas a seguir criam um novo banco de dados denominado TestDB.
No prompt de comando sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:
CREATE DATABASE TestDB;Na próxima linha, grave uma consulta para retornar o nome de todos os bancos de dados do servidor:
SELECT Name FROM sys.databases;Os dois comandos anteriores não são executados imediatamente. Digite
GOem uma nova linha para executar os comandos anteriores:GO
Inserir dados
Em seguida, crie uma nova tabela, dbo.Inventory, e insira duas novas linhas.
No prompt de comando sqlcmd, altere o contexto para o novo banco de dados
TestDB:USE TestDB;Criar nova tabela denominada
dbo.Inventory:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );Inserir dados na nova tabela:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);Digite
GOpara executar os comandos anteriores:GO
Selecionar dados
Agora, execute uma consulta para retornar da tabela dbo.Inventory.
No prompt de comando sqlcmd, digite uma consulta que retorna linhas de tabela
dbo.Inventoryem que a quantidade é maior que 152:SELECT * FROM dbo.Inventory WHERE quantity > 152;Execute o comando:
GO
Saia do prompt de comando sqlcmd
Para encerrar a sessão sqlcmd, digite QUIT:
QUIT
Práticas recomendadas de desempenho
Após instalar o SQL Server em Linux, examine as práticas recomendadas para configuração do Linux e do SQL Server a fim de melhorar o desempenho para cenários de produção. Para obter mais informações, confira Práticas recomendadas de desempenho e diretrizes de configuração do SQL Server em Linux.
Ferramentas de dados multiplataforma
Além de sqlcmd, você pode usar as seguintes ferramentas multiplataforma para gerenciar o SQL Server:
| Ferramenta | Descrição |
|---|---|
| Código do Visual Studio | Um editor de código gui multiplataforma que executa instruções Transact-SQL com a extensão MSSQL. |
| PowerShell | Uma ferramenta de automação e configuração multiplataforma baseada em cmdlets. |
| mssql-cli | Uma interface de linha de comando multiplataforma para executar comandos Transact-SQL. |
Conecte-se do Windows
As ferramentas do SQL Server no Windows se conectam às instâncias do SQL Server no Linux da mesma forma que se conectam a qualquer instância remota do SQL Server.
Se você tiver um computador Windows que possa se conectar ao seu computador Linux, experimente as mesmas etapas neste artigo em um prompt de comando do Windows executando o sqlcmd. É necessário usar o nome de destino do computador Linux ou o endereço IP em vez do localhost e ter certeza de que a porta TCP 1433 está aberta no computador SQL Server. Se houver problemas ao se conectar do Windows, consulte recomendações de solução de problemas de conexão.
Para outras ferramentas que executam o Windows, mas se conectam ao SQL Server no Linux, consulte:
Outros cenários de implantação
Para outros cenários de instalação, veja os seguintes recursos:
- Atualização: Saiba como atualizar uma instalação existente do SQL Server no Linux
- Desinstalação: Desinstalar o SQL Server no Linux
- Instalação autônoma: Saiba como gerar o script da instalação sem prompts
- Instalação offline: Saiba como baixar manualmente os pacotes para instalação offline
Para obter respostas a perguntas frequentes, confira as Perguntas frequentes sobre o SQL Server em Linux.
Conteúdo relacionado
Contribua com a documentação do SQL
Você sabia que pode editar o conteúdo do SQL por conta própria? Se você fizer isso, não só ajudará a melhorar nossa documentação, mas também será creditado como um colaborador da página.
Para obter mais informações, consulte Editar a documentação do Microsoft Learn.