Share via


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 un modulo SQL Edge da Azure Marketplace

Azure Marketplace è un marketplace online di servizi e applicazioni dove è possibile trovare un'ampia gamma di soluzioni e applicazioni aziendali certificate e ottimizzate per l'esecuzione in Azure, tra cui i moduli IoT Edge. SQL Edge di Azure può essere distribuito in un dispositivo perimetrale tramite il Marketplace.

  1. Trovare il modulo SQL Edge di Azure in Azure Marketplace.

    Screenshot of SQL Edge in the Azure Marketplace.

  2. Selezionare il piano software più adatto alle proprie esigenze e selezionare Crea.

    Screenshot showing how to pick the correct software plan.

  3. Nella pagina Dispositivi di destinazione per il modulo IoT Edge specificare i dettagli seguenti e quindi selezionare Crea.

    Campo Descrizione
    Abbonamento Sottoscrizione ad Azure in cui l'hub IoT è stato creato
    Hub IoT Nome dell'hub IoT in cui è registrato il dispositivo IoT Edge e quindi selezionare l'opzione "Distribuisci in un dispositivo"
    Nome dispositivo IoT Edge Nome del dispositivo IoT Edge in cui verrebbe distribuito SQL Edge
  4. Nella pagina Imposta moduli nel dispositivo: selezionare il modulo SQL Edge di Azure in Moduli IoT Edge. Il nome del modulo predefinito è impostato su AzureSQLEdge.

  5. Nella sezione Modulo Impostazioni del riquadro Aggiorna modulo IoT Edge specificare i valori desiderati per il nome del modulo IoT Edge, riavviare i criteri e lo stato desiderato.

    Importante

    Non modificare o aggiornare le impostazioni dell'URI immagine nel modulo.

  6. Nella sezione Variabili di ambiente del riquadro Aggiorna 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 l'uso delle variabili di ambiente. Per il modulo vengono definite le variabili di ambiente predefinite seguenti.

    Parametro Descrizione
    MSSQL_SA_PASSWORD Modificare il valore predefinito per specificare una password complessa per l'account amministratore di SQL Edge.
    MSSQL_LCID Modificare il valore predefinito per impostare l'ID lingua desiderato da usare per SQL Edge. Ad esempio, 1036 corrisponde al francese.
    MSSQL_COLLATION Modificare il valore predefinito 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.

    Importante

    Non modificare o aggiornare la ACCEPT_EULA variabile di ambiente per il modulo.

  7. Nella sezione Opzioni di creazione del contenitore del riquadro Aggiorna modulo IoT Edge aggiornare le opzioni seguenti in base alle esigenze.

    • Porta host

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

    • Associazioni e montaggi

      Se è necessario distribuire più moduli di SQL Edge, assicurarsi di aggiornare l'opzione mounts per creare una nuova coppia di origine e di destinazione per il volume permanente. Per altre informazioni sui montaggi e sui volumi, 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

    Non modificare la PlanId variabile di ambiente definita nell'impostazione di creazione della configurazione. Se questo valore viene modificato, l'avvio del contenitore SQL Edge di Azure non riuscirà.

    Avviso

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

  8. Nel riquadro Aggiorna modulo IoT Edge selezionare Aggiorna.

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

  10. 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, incluso sqlcmd, non sono disponibili all'interno della versione ARM64 dei contenitori 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 viene AzureSQLEdge specificato dal Name parametro del modulo IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Una volta all'interno del contenitore, connettersi in locale con lo strumento sqlcmd . sqlcmd non è nel percorso per impostazione predefinita, quindi è necessario 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 quindi una nuova tabella denominata Inventorye 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.

Connessione 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 supporta le connessioni SQL. Per altre informazioni sulla connessione a un contenitore SQL Edge dall'esterno, vedere Connessione ed Eseguire query su SQL Edge di Azure.

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

Passaggi successivi