Condividi tramite


Distribuisci SQL Edge di Azure

Importante

SQL Edge di Azure non supporta più la piattaforma ARM64.

SQL Edge di Azure è un motore di database relazionale ottimizzato per distribuzioni IoT e Azure IoT Edge. Fornisce funzionalità per la creazione di un livello di elaborazione e archiviazione dei dati a prestazioni elevate per le applicazioni e le soluzioni IoT. Questo argomento di avvio rapido illustra come iniziare a creare un modulo SQL Edge di Azure mediante Azure IoT Edge usando il portale di Azure.

Operazioni preliminari

Nota

Per distribuire una macchina virtuale Azure Linux come dispositivo IoT Edge, consultare questa guida introduttiva.

Distribuire il modulo SQL Edge di Azure con l'hub IoT

SQL Edge di Azure può essere distribuito usando le istruzioni fornite da Distribuire moduli dal portale di Azure. L'URI dell'immagine per SQL Edge di Azure è mcr.microsoft.com/azure-sql-edge:latest.

  1. Nella pagina Aggiungi modulo IoT Edge specificare i valori desiderati per il Nome del modulo IoT Edge, URI immagine, Riavvia criterio e Stato desiderato.

    Usare l'URI dell'immagine seguente a seconda dell'edizione da distribuire:

    • Edizione Developer - mcr.microsoft.com/azure-sql-edge/developer
    • Edizione Premium - mcr.microsoft.com/azure-sql-edge/premium
  2. Nella sezione Variabili di ambiente della pagina Aggiungi modulo IoT Edge specificare i valori desiderati per le variabili di ambiente. Per un elenco completo delle variabili di ambiente di SQL Edge di Azure, vedere Configurare usando le variabili di ambiente.

    Parametro Descrizione
    ACCEPT_EULA Impostare questo valore su Y per accettare il Contratto di licenza con l'utente finale
    MSSQL_SA_PASSWORD Impostare il valore per specificare una password complessa per l'account amministratore di SQL Edge.
    MSSQL_LCID Impostare il valore per impostare l'ID lingua desiderato da utilizzare per SQL Edge. Ad esempio, 1036 corrisponde al francese.
    MSSQL_COLLATION Impostare il valore per impostare le regole di confronto predefinite per SQL Edge. Questa impostazione sostituisce il mapping predefinito dell'ID lingua (LCID) per le regole di confronto.
  3. Nella sezione Opzioni di creazione del contenitore della pagina Aggiungi modulo IoT Edge, impostare le opzioni in base alle esigenze.

    • Porta host

      Eseguire il mapping della porta host specificata sulla porta 1433 (porta SQL predefinita) nel contenitore.

    • Associa ed esegue il montaggio

      Se è necessario distribuire più di un modulo database SQL Edge, assicurarsi di aggiornare l'opzione eseguire il montaggio per creare una nuova coppia di origine e destinazione per il volume permanente. Per altre informazioni sui montaggi e sul volume, vedere Usare volumi nella documentazione di 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

    Impostare la variabile di ambiente PlanId in base all'edizione installata.

    • Edizione Developer - asde-developer-on-iot-edge
    • Edizione Premium - asde-premium-on-iot-edge

    Se questo valore è impostato in modo non corretto, l'avvio del contenitore SQL Edge di Azure non può essere avviato.

    Avviso

    Se si reinstalla il modulo, ricordarsi di rimuovere prima le associazioni esistenti. In caso contrario, le variabili di ambiente non verranno aggiornate.

  4. Nella pagina Aggiungi modulo IoT Edge selezionare Aggiungi.

  5. Nella pagina Imposta moduli nel dispositivo selezionare Avanti: Route > se è necessario definire le route per la distribuzione. In caso in contrario selezionare Rivedi e crea. Per altre informazioni, sulla configurazione delle route, vedere Informazioni su come distribuire moduli e definire route in IoT Edge.

  6. Nella pagina Imposta moduli nel dispositivo selezionare Crea.

Connettersi a SQL Edge di Azure

La procedura seguente usa lo strumento da riga di comando di SQL Edge di Azure, sqlcmd, all'interno del contenitore per stabilire la connessione a SQL Edge di Azure.

Nota

Gli strumenti da riga di comando di SQL Server, inclusi sqlcmd, non sono disponibili all'interno della versione ARM64 dei contenitori di SQL Edge di Azure.

  1. Usare il comando docker exec -it per avviare una shell Bash interattiva all'interno del contenitore in esecuzione. Nell'esempio seguente, AzureSQLEdge è il nome specificato dal parametro Name del modulo IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Una volta all'interno del contenitore, eseguire la connessione in locale con lo strumento sqlcmd. sqlcmd non è incluso nel percorso per impostazione predefinita, quindi occorre specificare il percorso completo.

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

    Suggerimento

    È possibile omettere la password nella riga di comanda perché sia richiesto di essere immessa.

  3. Se la connessione viene eseguita correttamente, il prompt dei comandi sqlcmd sarà: 1>.

Creare i dati e recuperarli tramite query

Nelle sezioni seguenti viene descritto l'uso di sqlcmd e Transact-SQL per creare un nuovo database, aggiungere dati ed eseguire una query.

Creare un nuovo database

La seguente procedura consente di creare un nuovo database denominato TestDB.

  1. Dal prompt dei comandi sqlcmd incollare il comando seguente di Transact-SQL per creare un database di test:

    CREATE DATABASE TestDB;
    GO
    
  2. Nella riga successiva scrivere una query perché vengano restituiti i nomi di tutti database nel server:

    SELECT name from sys.databases;
    GO
    

Inserire i dati

Creare poi una nuova tabella denominata Inventory e inserire due nuove righe.

  1. Dal prompt dei comandi sqlcmd spostare il contesto nel nuovo database TestDB:

    USE TestDB;
    
  2. Creare una nuova tabella denominata Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Inserire i dati nella nuova tabella:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Digitare GO per eseguire i comandi precedenti:

    GO
    

Selezionare i dati

A questo punto, eseguire una query per restituire i dati dalla tabella Inventory.

  1. Dal prompt dei comandi sqlcmd immettere una query che restituisca le righe dalla tabella Inventory che ne contiene oltre 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Eseguire il comando seguente:

    GO
    

Uscire dal prompt dei comandi sqlcmd

  1. Per terminare la sessione sqlcmd, digitare QUIT:

    QUIT
    
  2. Per uscire dal prompt dei comandi interattivo nel contenitore, digitare exit. Dopo la chiusura della shell Bash interattiva, il contenitore continua l'esecuzione.

Connettersi dall'esterno del contenitore

È possibile connettersi ed eseguire query SQL sull'istanza di SQL Edge di Azure da qualsiasi strumento esterno Linux, Windows o macOS che supporti le connessioni SQL. Per altre informazioni sulla connessione a un contenitore di SQL Edge dall'esterno, vedere Connettersi ed eseguire query in SQL Edge di Azure.

In questo argomento di avvio rapido è stato distribuito un modulo SQL Edge in un dispositivo IoT Edge.

Passaggi successivi