Distribuera Azure SQL Edge

Azure SQL Edge är en relationsdatabasmotor som är optimerad för IoT- och Azure IoT Edge distributioner. Den innehåller funktioner för att skapa ett högpresterande datalagrings- och bearbetningslager för IoT-program och IoT-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 Portal.

Innan du börjar

Anteckning

Information om hur du distribuerar en virtuell Azure Linux IoT Edge-dator 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 i Azure, inklusive IoT Edge moduler. Azure SQL Edge kan distribueras till en gränsenhet via Marketplace.

  1. Leta upp Azure SQL Edge-modulen på Azure Marketplace.

    SQL Edge i MarketPlace

  2. Välj den programvaruplan som bäst matchar dina krav och klicka på Skapa.

    Välja rätt programvaruplan

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

    Fält Beskrivning
    Prenumeration Azure-prenumerationen där IoT Hub skapades
    IoT Hub Namnet på den IoT Hub där IoT Edge ä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å enheten: klickar du på Azure SQL Edge-modulen under IoT Edge Modules. Standardmodulnamnet är AzureSQLEdge.

  5. I avsnittet Modul Inställningarbladet Uppdatera IoT Edge modul anger du önskade värden för IoT Edge modulnamn, omstartsprincip och önskad status.

    Viktigt

    Ändra eller uppdatera inte bild-URI-inställningarna i modulen.

  6. I avsnittet Miljövariablerbladet 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 standard sorteringen för SQL Edge. Den här inställningen åsidosätter standardmappningen av språk-ID (LCID) till sortering.

    Viktigt

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

  7. I avsnittet Alternativ för att skapa containrar på bladet Uppdatera IoT Edge modul uppdaterar du följande alternativ enligt behov.

    • Värdport: Mappa den angivna värdporten till port 1433 (SQL port) i containern.
    • Bindningar och monteringar: Om du behöver distribuera fler än en SQL Edge-modul måste du uppdatera monteringsalternativet för att skapa ett nytt &-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 inte PlanId miljövariabeln som definierats i inställningen skapa konfiguration. Om det här värdet ändras startar inte Azure SQL Edge-containern.

  8. I fönstret Uppdatera IoT Edge modul klickar du på Uppdatera.

  9. På sidan Ange moduler på enheten klickar du på Nästa: Vägar > du behöver definiera vägar för distributionen. Annars klickar du på 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 klickar du på Skapa.

Anslut till Azure SQL Edge

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

Anteckning

SQL Kommandoradsverktyg (sqlcmd) är inte tillgängliga i ARM64-versionen av Azure SQL Edge-containrar.

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

    sudo docker exec -it azuresqledge "bash"
    
  2. När du är i containern ansluter du lokalt med sqlcmd. 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>"
    

    Tips

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

  3. Om det lyckas bör du gå 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 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, Inventory , och infoga två nya rader.

  1. Från kommandotolken sqlcmd växlar du kontexten till den nya TestDB databasen:

    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 sqlcmd-kommandotolken anger du en fråga som returnerar rader från tabellen Inventory där kvantiteten är större än 152:

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

    GO
    

Avsluta sqlcmd-kommandotolken

  1. Avsluta din sqlcmd-session genom att skriva 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 fråga Azure SQL Edge.

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

Nästa steg