Distribuera Azure SQL Edge

Viktigt!

Azure SQL Edge stöder inte längre ARM64-plattformen.

Azure SQL Edge är en relationsdatabasmotor som är optimerad för IoT- och Azure IoT Edge-distributioner. Det ger funktioner för att skapa ett datalagrings- och bearbetningslager med höga prestanda för IoT-program och -lösningar. Den här snabbstarten visar hur du kommer igång med att skapa en Azure SQL Edge-modul via Azure IoT Edge med hjälp av Azure-portalen.

Innan du börjar

Kommentar

Information om hur du distribuerar en virtuell Azure Linux-dator som en IoT Edge-enhet finns i den här snabbstartsguiden.

Distribuera SQL Edge-modul från Azure Marketplace

Azure Marketplace är en marknadsplats för onlineprogram och tjänster där du kan bläddra igenom en mängd olika företagsprogram och lösningar som är certifierade och optimerade för att köras på Azure, inklusive IoT Edge-moduler. Azure SQL Edge kan distribueras till en gränsenhet via Marketplace.

  1. Hitta Azure SQL Edge-modulen på Azure Marketplace.

    Screenshot of SQL Edge in the Azure Marketplace.

  2. Välj den programvaruplan som bäst matchar dina krav och välj Skapa.

    Screenshot showing how to pick the correct software plan.

  3. På sidan Målenheter för IoT Edge-modul anger du följande information och väljer sedan Skapa.

    Fält Description
    Abonnemang Den Azure-prenumeration under vilken IoT Hub skapades
    IoT Hub Namnet på den IoT Hub där IoT Edge-enheten är registrerad och välj sedan alternativet "Distribuera till en enhet"
    IoT Edge-enhetsnamn Namnet på den IoT Edge-enhet där SQL Edge skulle distribueras
  4. På sidan Ange moduler på enhet: väljer du Azure SQL Edge-modulen under IoT Edge-moduler. Standardmodulnamnet är inställt på AzureSQLEdge.

  5. I avsnittet Modul Inställningar i fönstret Uppdatera IoT Edge-modul anger du önskade värden för IoT Edge-modulens namn, omstartsprincip och önskad status.

    Viktigt!

    Ändra eller uppdatera inte URI-inställningarna för avbildning i modulen.

  6. I avsnittet Miljövariabler i fönstret Uppdatera IoT Edge-modul anger du önskade värden för miljövariablerna. En fullständig lista över Azure SQL Edge-miljövariabler finns i Konfigurera med hjälp av miljövariabler. Följande standardmiljövariabler definieras för modulen.

    Parameter Beskrivning
    MSSQL_SA_PASSWORD Ändra standardvärdet för att ange ett starkt lösenord för SQL Edge-administratörskontot.
    MSSQL_LCID Ändra standardvärdet för att ange önskat språk-ID som ska användas för SQL Edge. Till exempel är 1036 franska.
    MSSQL_COLLATION Ändra standardvärdet för att ange standardsortering för SQL Edge. Den här inställningen åsidosätter standardmappningen av språk-ID (LCID) till sortering.

    Viktigt!

    Ändra eller uppdatera ACCEPT_EULA inte miljövariabeln för modulen.

  7. I avsnittet Alternativ för att skapa container i fönstret Uppdatera IoT Edge-modul uppdaterar du följande alternativ enligt behov.

    • Värdport

      Mappa den angivna värdporten till port 1433 (standard-SQL-port) i containern.

    • Bindningar och monteringar

      Om du behöver distribuera fler än en SQL Edge-modul kontrollerar du att du uppdaterar monteringsalternativet för att skapa ett nytt käll- och målpar för den beständiga volymen. Mer information om monteringar och volymer finns i Använda volymer i Docker-dokumentationen.

    {
        "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"
        ]
    }
    

    Viktigt!

    Ändra PlanId inte miljövariabeln som definierats i inställningen skapa konfiguration. Om det här värdet ändras startar inte Azure SQL Edge-containern.

    Varning

    Om du installerar om modulen måste du först ta bort befintliga bindningar, annars uppdateras inte dina miljövariabler.

  8. I fönstret Uppdatera IoT Edge-modul väljer du Uppdatera.

  9. På sidan Ange moduler på enheten väljer du Nästa: Vägar > om du behöver definiera vägar för distributionen. Annars väljer du Granska + Skapa. Mer information om hur du konfigurerar vägar finns i Distribuera moduler och upprätta vägar i IoT Edge.

  10. På sidan Ange moduler på enheten väljer du Skapa.

Anslut till Azure SQL Edge

Följande steg använder kommandoradsverktyget Azure SQL Edge, sqlcmd, i containern för att ansluta till Azure SQL Edge.

Kommentar

SQL Server-kommandoradsverktyg, inklusive sqlcmd, är inte tillgängliga i ARM64-versionen av Azure SQL Edge-containrar.

  1. docker exec -it Använd kommandot för att starta ett interaktivt bash-gränssnitt i containern som körs. I följande exempel AzureSQLEdge är namnet som anges av parametern för Name din IoT Edge-modul.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. När du är inne i containern ansluter du lokalt med sqlcmd-verktyget . sqlcmd finns inte i sökvägen som standard, så du måste ange den fullständiga sökvägen.

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

    Dricks

    Du kan utelämna lösenordet på kommandoraden för att uppmanas att ange det.

  3. Om det lyckas bör du komma till en sqlcmd-kommandotolk : 1>.

Skapa och fråga efter data

Följande avsnitt beskriver hur du använder sqlcmd och Transact-SQL för att skapa en ny databas, lägga till data och köra en fråga.

Skapa en ny databas

Följande steg skapar en ny databas med namnet TestDB.

  1. Från kommandotolken sqlcmd klistrar du in följande Transact-SQL-kommando för att skapa en testdatabas:

    CREATE DATABASE TestDB;
    GO
    
  2. På nästa rad skriver du en fråga för att returnera namnet på alla databaser på servern:

    SELECT name from sys.databases;
    GO
    

Infoga data

Skapa sedan en ny tabell med namnet Inventoryoch infoga två nya rader.

  1. Växla kontext till den nya TestDB databasen från kommandotolken för sqlcmd:

    USE TestDB;
    
  2. Skapa en ny tabell med namnet Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Infoga data i den nya tabellen:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Skriv GO för att köra föregående kommandon:

    GO
    

Välj data

Kör nu en fråga för att returnera data från Inventory tabellen.

  1. Från kommandotolken sqlcmd anger du en fråga som returnerar rader från Inventory tabellen där antalet är större än 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Kör kommandot:

    GO
    

Avsluta kommandotolken för sqlcmd

  1. Om du vill avsluta sqlcmd-sessionen skriver du QUIT:

    QUIT
    
  2. Om du vill avsluta den interaktiva kommandotolken i containern skriver du exit. Containern fortsätter att köras när du har avslutat det interaktiva bash-gränssnittet.

Anslut utanför containern

Du kan ansluta och köra SQL-frågor mot din Azure SQL Edge-instans från alla externa Linux-, Windows- eller macOS-verktyg som stöder SQL-anslutningar. Mer information om hur du ansluter till en SQL Edge-container utifrån finns i Anslut och Fråga Azure SQL Edge.

I den här snabbstarten distribuerade du en SQL Edge-modul på en IoT Edge-enhet.

Nästa steg