Compartilhar via


Implementar o SQL do Azure no Edge

Importante

O Azure SQL Edge foi desativado a partir de 30 de setembro de 2025. Para obter mais informações e opções de migração, consulte o Aviso de aposentadoria.

Observação

O Azure SQL Edge não suporta mais a plataforma ARM64.

O Azure SQL Edge é um mecanismo de banco de dados relacional otimizado para implantações de IoT e Azure IoT Edge. Ele fornece recursos para criar uma camada de armazenamento e processamento de dados de alto desempenho para aplicativos e soluções de IoT. Este guia de início rápido mostra como começar a criar um módulo do Azure SQL Edge por meio do Azure IoT Edge usando o portal do Azure.

Antes de começar

  • Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
  • Inicie sessão no portal Azure.
  • Crie um Hub IoT do Azure.
  • Crie um dispositivo Azure IoT Edge.

Observação

Para implantar uma VM Linux do Azure como um dispositivo IoT Edge, consulte este guia de início rápido.

Implantar o Módulo SQL Edge do Azure usando o Hub IoT

O SQL Edge do Azure pode ser implantado usando instruções de Implantar módulos do portal do Azure. O URI de imagem para o Azure SQL Edge é mcr.microsoft.com/azure-sql-edge:latest.

  1. Na página Adicionar Módulo de Borda IoT, especifique os valores desejados para Nome do Módulo de Borda IoT, URI de Imagem, Política de Reinicialização e Status Desejado.

    Use o seguinte URI de imagem, dependendo da edição que você deseja implantar:

    • Edição para desenvolvedores - mcr.microsoft.com/azure-sql-edge/developer
    • Edição Premium - mcr.microsoft.com/azure-sql-edge/premium
  2. Na seção Variáveis de Ambiente da página Adicionar Módulo de Borda IoT, especifique os valores desejados para as variáveis de ambiente. Para obter uma lista completa das variáveis de ambiente do Azure SQL Edge, consulte Configurar usando variáveis de ambiente.

    Parâmetro Description
    ACCEPT_EULA Defina esse valor como Y para aceitar o Contrato de Licenciamento de Usuário Final
    MSSQL_SA_PASSWORD Defina o valor para especificar uma senha forte para a conta de administrador do SQL Edge.
    MSSQL_LCID Defina o valor para definir a ID de idioma desejada a ser usada para o SQL Edge. Por exemplo, 1036 é francês.
    MSSQL_COLLATION Defina o valor para definir o agrupamento padrão para SQL Edge. Essa configuração substitui o mapeamento padrão de ID de idioma (LCID) para agrupamento.
  3. Na seção Criar Opções de Contêiner da página Adicionar Módulo de Borda IoT, defina as opções conforme requisito.

    • Porta anfitriã

      Mapeie a porta de host especificada para a porta 1433 (porta SQL padrão) no contêiner.

    • Ligações e Montagens

      Se você precisar implantar mais de um módulo SQL Edge, certifique-se de atualizar a opção mounts para criar um novo par de origem e destino para o volume persistente. Para obter mais informações sobre montagens e volume, consulte Usar volumes na documentação do Docker.

    {
        "HostConfig": {
            "CapAdd": [
                "SYS_PTRACE"
            ],
            "Binds": [
                "sqlvolume:/sqlvolume"
            ],
            "PortBindings": {
                "1433/tcp": [
                    {
                        "HostPort": "1433"
                    }
                ]
            },
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "sqlvolume",
                    "Target": "/var/opt/mssql"
                }
            ]
        },
        "Env": [
            "MSSQL_AGENT_ENABLED=TRUE",
            "ClientTransportType=AMQP_TCP_Only",
            "PlanId=asde-developer-on-iot-edge"
        ]
    }
    

    Importante

    Defina a PlanId variável de ambiente com base na edição instalada.

    • Edição para desenvolvedores - asde-developer-on-iot-edge
    • Edição Premium - asde-premium-on-iot-edge

    Se esse valor for definido incorretamente, o contêiner do Azure SQL Edge falhará ao iniciar.

    Advertência

    Se você reinstalar o módulo, lembre-se de remover todas as ligações existentes primeiro, caso contrário, suas variáveis de ambiente não serão atualizadas.

  4. Na página Adicionar Módulo de Borda IoT, selecione Adicionar.

  5. Na página Definir módulos no dispositivo, selecione Avançar: Rotas > se precisar definir rotas para sua implantação. Caso contrário, selecione Rever + Criar. Para obter mais informações sobre como configurar rotas, consulte Implantar módulos e estabelecer rotas no IoT Edge.

  6. Na página Definir módulos no dispositivo, selecione Criar.

Conectar-se ao Azure SQL Edge

As etapas a seguir usam a ferramenta de linha de comando do Azure SQL Edge, sqlcmd, dentro do contêiner para se conectar ao Azure SQL Edge.

Observação

As ferramentas de linha de comando do SQL Server, incluindo sqlcmd, não estão disponíveis dentro da versão ARM64 dos contêineres do SQL Edge do Azure.

  1. Use o comando para iniciar um shell bash interativo dentro do docker exec -it contêiner em execução. No exemplo a seguir, AzureSQLEdge é o Name nome especificado pelo parâmetro do seu IoT Edge Module.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Uma vez dentro do contêiner, conecte-se localmente com a ferramenta sqlcmd . O sqlcmd não está no caminho por padrão, então você precisa especificar o caminho completo.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
    

    Sugestão

    Você pode omitir a senha na linha de comando para ser solicitado a inseri-la.

  3. Se for bem-sucedido, deverá aceder a um prompt de comando do sqlcmd: 1>.

Criar e consultar dados

As seções a seguir orientam você pelo uso do sqlcmd e do Transact-SQL para criar um novo banco de dados, adicionar dados e executar uma consulta.

Criar uma nova base de dados

As etapas a seguir criam um novo banco de dados chamado TestDB.

  1. No prompt de comando do sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:

    CREATE DATABASE TestDB;
    GO
    
  2. Na próxima linha, escreva uma consulta para retornar o nome de todos os bancos de dados no servidor:

    SELECT name from sys.databases;
    GO
    

Inserir dados

Em seguida, crie uma nova tabela chamada Inventory, e insira duas novas linhas.

  1. Na linha de comando do sqlcmd, mude o contexto para o novo banco de dados TestDB:

    USE TestDB;
    
  2. Crie uma nova tabela com o nome Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Insira dados na nova tabela:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Digite GO para executar os comandos anteriores:

    GO
    

Selecionar dados

Agora, execute uma consulta para retornar dados da tabela Inventory.

  1. No prompt de comando do sqlcmd, insira uma consulta que retorne linhas da tabela Inventory em que a quantidade é maior que 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Execute o comando:

    GO
    

Saia do prompt de comando sqlcmd

  1. Para terminar a sua sessão de sqlcmd, digite QUIT:

    QUIT
    
  2. Para sair do prompt de comando interativo no contêiner, digite exit. Seu contêiner continua a ser executado depois que você sai do shell bash interativo.

Conecte-se de fora do contêiner

Você pode se conectar e executar consultas SQL em sua instância do Azure SQL Edge a partir de qualquer ferramenta externa do Linux, Windows ou macOS que ofereça suporte a conexões SQL. Para obter mais informações sobre como se conectar a um contêiner do SQL Edge de fora, consulte Conectar e consultar o SQL Edge do Azure.

Neste início rápido, você implantou um Módulo SQL Edge em um dispositivo IoT Edge.