O SQL do Azure no Edge será desativado em 30 de setembro de 2025. Para obter mais informações e opções de migração, veja o Aviso de aposentadoria.
Observação
O SQL do Azure no Edge encerrou o suporte à plataforma ARM64.
Neste guia de início rápido, você usará o Docker para efetuar pull e executar a imagem de contêiner do SQL do Azure no Edge. Em seguida, você se conectará à ferramenta sqlcmd para criar seu primeiro banco de dados e executar consultas.
Essa imagem representa o SQL no Edge com base no Ubuntu 18.04. Ela pode ser usada com o Docker Engine 1.8 ou superior no Linux.
Não há suporte para contêineres do SQL do Azure no Edge nas seguintes plataformas para cargas de trabalho de produção:
Windows
macOS
Azure IoT EFLOW (Edge para Linux no Windows)
Pré-requisitos
O Docker Engine 1.8 ou superior em qualquer distribuição do Linux com suporte. Para obter mais informações, veja Install Docker (Instalar o Docker). Como as imagens do SQL no Edge se baseiam no Ubuntu 18.04, é recomendável usar um host do Docker do Ubuntu 18.04.
Driver de armazenamento overlay2 do Docker. Esse é o padrão para a maioria dos usuários. Se você perceber que não está usando esse provedor de armazenamento e precisar alterá-lo, confira as instruções e os avisos na documentação do Docker para configurar o overlay2.
Para os comandos de bash neste artigo, o sudo é usado. Se você não quiser usar sudo para executar o Docker, configure um grupo do Docker e adicione usuários a ele. Para obter mais informações, veja Etapas de pós-instalação para o Linux.
Efetuar pull e executar a imagem de contêiner
Efetue pull da imagem de contêiner do SQL do Azure no Edge no Registro de Contêiner da Microsoft.
O comando anterior efetua pull da imagem de contêiner mais recente do SQL no Edge. Para ver todas as imagens disponíveis, confira a página do Docker Hub azure-sql-egde.
Para executar a imagem de contêiner com o Docker, use o seguinte comando em um shell do Bash:
Inicie uma instância do SQL do Azure no Edge em execução com a edição Developer:
A senha deverá seguir a política de senha padrão do Mecanismo de Banco de Dados SQL da Microsoft, caso contrário, o contêiner não poderá configurar o Mecanismo de Banco de Dados SQL e deixará de funcionar. 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. É possível examinar o log de erros executando o comando docker logs.
A seguinte tabela fornece uma descrição dos parâmetros no exemplo de docker run anterior:
Parâmetro
Descrição
-e "ACCEPT_EULA=Y"
Defina a variável ACCEPT_EULA com qualquer valor para confirmar sua aceitação dos Termos de Licença. Configuração necessária para a imagem do SQL no Edge.
-e "MSSQL_SA_PASSWORD=<password>"
Especifique sua própria senha forte que tenha pelo menos oito caracteres e atenda aos requisitos de senha. Configuração necessária para a imagem do SQL no Edge.
-p 1433:1433
Mapeie uma porta TCP no ambiente do host (primeiro valor) para uma porta TCP no contêiner (segundo valor). Neste exemplo, o SQL no Edge está escutando em TCP 1433 no contêiner, o que é exposto para a porta 1433 no host.
--name azuresqledge
Especifique um nome personalizado para o contêiner em vez de um nome gerado aleatoriamente. Se você executar mais de um contêiner, não será possível reutilizar esse mesmo nome.
Para exibir seus contêineres do Docker, use o comando docker ps.
sudo docker ps -a
Se a coluna STATUS mostrar o status Ativo, o SQL no Edge estará em execução no contêiner e ouvindo na porta especificada na coluna PORTAS. Se a coluna STATUS do contêiner do SQL no Edge mostrar Encerrado, confira a seção Solução de problemas da documentação do SQL do Azure no Edge.
O parâmetro -h (nome do host) também é útil, mas para simplificar, ele não é usado neste tutorial. Ele altera o nome interno do contêiner para um valor personalizado. Este é o nome que será retornado na consulta Transact-SQL a seguir:
Configurar -h e --name com o mesmo valor é uma boa maneira de identificar facilmente o contêiner de destino.
Como etapa final, altere sua senha SA porque MSSQL_SA_PASSWORD está visível na saída ps -eax e armazenada na variável de ambiente de mesmo nome. Confira as etapas a seguir.
Alterar a senha SA
A conta SA é um administrador do sistema na instância do SQL do Azure no Edge que é criada durante a configuração. Depois de criar o contêiner do SQL no Edge, a variável de ambiente MSSQL_SA_PASSWORD especificada é detectável executando echo $MSSQL_SA_PASSWORD no contêiner. Para fins de segurança, altere sua senha SA.
Escolha uma senha forte para usar no usuário de SA.
Use docker exec para executar sqlcmd para alterar a senha usando o Transact-SQL. No exemplo a seguir, substitua a senha antiga, <old-password>e a nova senha, <new-password>, por suas próprias senhas.
sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \
-S localhost -U SA -P "<old-password>" \
-Q 'ALTER LOGIN SA WITH PASSWORD="<new-password>"'
Conectar-se ao SQL do Azure no Edge
As etapas a seguir usam a ferramenta de linha de comando do SQL do Azure no Edge, sqlcmd, dentro do contêiner para se conectar ao SQL no Edge.
Use o comando docker exec -it para iniciar um shell bash interativo dentro do contêiner em execução. No exemplo a seguir, azuresqledge é o nome especificado pelo parâmetro --name na criação do contêiner.
sudo docker exec -it azuresqledge "bash"
Quando estiver dentro do contêiner, conecte-se localmente com a sqlcmd. A sqlcmd não está no caminho por padrão, portanto, será necessário especificar o caminho completo.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<password>"
Dica
É possível omitir a senha na linha de comando para receber uma solicitação para inseri-la.
Se isso funcionar, você será levado a um prompt de comando sqlcmd: 1>.
Criar e consultar dados
As seções a seguir descrevem como usar o sqlcmd e o Transact-SQL para criar um banco de dados, adicionar dados e executar uma consulta.
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;
GO
Na próxima linha, grave uma consulta para retornar o nome de todos os bancos de dados do servidor:
SELECT name from sys.databases;
GO
Inserir dados
Em seguida, crie uma nova tabela, 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 Inventory:
CREATE TABLE Inventory (
id INT,
name NVARCHAR(50),
quantity INT
);
Inserir dados na nova tabela:
INSERT INTO Inventory
VALUES (1, 'banana', 150);
INSERT INTO Inventory
VALUES (2, 'orange', 154);
Digite GO para executar os comandos anteriores:
GO
Selecionar dados
Agora, execute uma consulta para retornar da tabela Inventory.
No prompt de comando sqlcmd, digite uma consulta que retorna linhas de tabela Inventory em que a quantidade é maior que 152:
SELECT * FROM Inventory WHERE quantity > 152;
Execute o comando:
GO
Saia do prompt de comando sqlcmd
Para encerrar a sessão sqlcmd, digite QUIT:
QUIT
Para sair do prompt de comando interativo no contêiner, digite exit. O contêiner continuará a ser executado depois que você sair do shell bash interativo.
Conectar-se de fora do contêiner
Você também pode se conectar à instância do SQL no Edge no computador do Docker usando qualquer ferramenta externa do macOS, do Windows ou do Linux que seja compatível com conexões SQL. Para obter mais informações sobre como se conectar a um contêiner do SQL no Edge externamente, confira Conectar e consultar o SQL do Azure no Edge.
Remover o contêiner
Se você quiser remover o contêiner do SQL no Edge usado neste tutorial, execute os seguintes comandos:
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.