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
O Subsistema Windows para Linux (WSL) é um recurso do Windows que permite executar um ambiente Linux diretamente em sua máquina Windows, sem a necessidade de uma máquina virtual ou inicialização dupla. O WSL oferece uma experiência perfeita e produtiva para desenvolvedores que desejam usar o Windows e o Linux simultaneamente. Para obter mais informações, consulte O que é o Subsistema Windows para Linux?
O SQL Server no WSL é apenas 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. Recomendamos 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 questões relacionadas com o suporte, 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 serviço
systemd, que pode ser gerenciado usando comandossystemctl. Certifique-se de ativarsystemdna WSL. Para obter mais informações, consulte Como habilitar o systemd.Implante contêineres do SQL Server no WSL. Para essa opção, você precisa instalar um mecanismo de contêiner Linux no WSL, como Docker ou Podman, e implantar contêineres do SQL Server.
Pré-requisitos
Instale o WSL 2. Certifique-se de que está a executar o Windows 10 versão 2004 ou uma versão posterior (Build 19041 e superior) ou o 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 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 Linux no WSL e como instalar o SQL Server nessa distribuição Linux.
Escolha a distribuição 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, em seguida, instale o SQL Server 2022 nessa distribuição.
Para instalar o Ubuntu 22.04, execute o seguinte comando. 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ê deve ver uma saída semelhante ao exemplo a seguir. No final, ele deve mostrar que você está logado no 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.
Instalar o SQL Server
Depois de iniciar sessão no shell bash do Ubuntu 22.04, pode seguir as etapas descritas em Guia de 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 endereço IP
Para identificar o endereço IP ao qual se conectar usando o SQL Server Management Studio (SSMS), execute o comando ifconfig da seguinte maneira:
ifconfig
Você deve 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 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
Quando implementar um contentor para SQL Server 2025 (17.x) ou uma versão posterior, utilize MSSQL_PID=DeveloperStandard a edição Standard Developer e MSSQL_PID=Developer a edição Enterprise Developer.
Observação
Sua senha deve seguir a política de senha de padrão do SQL Server. Por padrão, a senha deve ter pelo menos oito 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. As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.
Adicionar armazenamento persistente com WSL para contêineres do SQL Server
Você pode criar volumes de dados conforme descrito em montar um diretório host como volume de dados.
Por exemplo, execute o seguinte comando 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
Quando implementar um contentor para SQL Server 2025 (17.x) ou uma versão posterior, utilize MSSQL_PID=DeveloperStandard a edição Standard Developer e MSSQL_PID=Developer a edição Enterprise Developer.
Mesmo que você execute o comando wsl --terminate, os dados não serão perdidos. Quando você inicia o WSL novamente e executa o comando docker run para implantar usando o volume sql_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 foi interrompido e removido e execute o seguinte comando.
docker volume rm sql_volume
Comentários
Você deve ser capaz de configurar a maioria dos recursos com suporte para 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 são suportados 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.
Conecte-se localmente
As etapas a seguir usam sqlcmd para se conectar localmente à sua nova instância do SQL Server.
Atenção
Sua senha deve seguir a política de senha de padrão do SQL Server. Por padrão, a senha deve ter pelo menos oito 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. As palavras-passe podem ter até 128 caracteres. Use senhas tão longas e complexas quanto possível.
Execute 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 que você forneceu para a contasadurante a configuraçã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 criptografia de conexão, consulte utilitário sqlcmd para Windows e Conectando-se com sqlcmd para Linux e macOS. Se a conexão não for bem-sucedida, você poderá adicionar a opção
-Noa sqlcmd para especificar que a criptografia é opcional, não obrigatória.Você pode omitir a senha na linha de comando para ser solicitado a inseri-la.
Se, mais tarde, decidir ligar remotamente, especifique o nome da máquina ou o endereço IP para o parâmetro
-Se certifique-se de que a porta 1433 está aberta na firewall.Se for bem-sucedido, você deve acessar um prompt de comando do sqlcmd:
1>.Se você receber uma falha de conexão, primeiro tente diagnosticar o problema a partir da mensagem de erro. Em seguida, revise as recomendações de solução de problemas de conexão .
Criar e consultar dados
As seções a seguir o orientam pelo uso do sqlcmd para criar um novo banco de dados, adicionar dados e executar uma consulta simples.
Para obter mais informações sobre como escrever instruções e consultas Transact-SQL, consulte Tutorial: Escrever instruções Transact-SQL.
Criar uma nova base de dados
As etapas a seguir criam um novo banco de dados chamado TestDB.
No prompt de comando do sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:
CREATE DATABASE TestDB;Na próxima linha, escreva uma consulta para retornar o nome de todos os bancos de dados no servidor:
SELECT Name FROM sys.databases;Os dois comandos anteriores não são executados imediatamente. Você deve digitar
GOem uma nova linha para executar os comandos anteriores:GO
Inserir dados
Em seguida, crie uma nova tabela, dbo.Inventorye insira duas novas linhas.
No prompt de comando do sqlcmd, alterne o contexto para o novo banco de dados
TestDB:USE TestDB;Crie uma nova tabela com o nome
dbo.Inventory:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR (50), quantity INT, PRIMARY KEY (id) );Insira 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 dados da tabela dbo.Inventory.
No prompt de comando do sqlcmd, insira uma consulta que retorne linhas da 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 do sqlcmd
Para encerrar a sua sessão de sqlcmd , digite QUIT:
QUIT
Práticas recomendadas de desempenho
Depois de instalar o SQL Server no Linux, revise as práticas recomendadas para configurar o Linux e o SQL Server para melhorar o desempenho em cenários de produção. Para obter mais informações, consulte Práticas recomendadas de desempenho e diretrizes de configuração para o SQL Server no Linux.
Ferramentas de dados multiplataforma
Além de sqlcmd, você pode usar as seguintes ferramentas de plataforma cruzada para gerenciar o SQL Server:
| Ferramenta | Descrição |
|---|---|
| de 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. |
Ligar a partir do Windows
As ferramentas do SQL Server no Windows se conectam a instâncias do SQL Server no Linux da mesma forma que se conectariam a qualquer instância remota do SQL Server.
Se você tiver uma máquina Windows que pode se conectar à sua máquina Linux, tente as mesmas etapas neste artigo a partir de um prompt de comando do Windows executando sqlcmd. Você deve usar o nome da máquina Linux de destino ou o endereço IP em vez de localhoste certificar-se de que a porta TCP 1433 está aberta na máquina do SQL Server. Se tiver problemas de ligação a partir do Windows, consulte recomendações de resolução de problemas de ligação.
Para outras ferramentas que são executadas no Windows, mas se conectam ao SQL Server no Linux, consulte:
- O SQL Server Management Studio (SSMS)
- Windows PowerShell
- SSDT (SQL Server Data Tools)
Outros cenários de implantação
Para outros cenários de instalação, consulte os seguintes recursos:
- Upgrade: Saiba como atualizar uma instalação existente do SQL Server no Linux
- desinstalar: desinstalar o SQL Server no Linux
- Instalação autônoma: Saiba como criar scripts para a instalação sem prompts
- Instalação Offline: Saiba como baixar manualmente os pacotes para instalação offline
Para obter respostas às perguntas frequentes, consulte o SQL Server on Linux FAQ.
Conteúdo relacionado
Contribuir para a documentação SQL
Você sabia que você mesmo pode editar conteúdo SQL? Se o fizer, não só ajudará a melhorar a nossa documentação, como também será creditado como contribuidor da página.
Para obter mais informações, consulte Editar a documentação do Microsoft Learn.