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
- Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Logga in på Azure-portalen.
- Skapa en Azure IoT Hub.
- Skapa en Azure IoT Edge-enhet.
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.
Hitta Azure SQL Edge-modulen på Azure Marketplace.
Välj den programvaruplan som bäst matchar dina krav och välj Skapa.
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 På sidan Ange moduler på enhet: väljer du Azure SQL Edge-modulen under IoT Edge-moduler. Standardmodulnamnet är inställt på AzureSQLEdge.
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.
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.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.
I fönstret Uppdatera IoT Edge-modul väljer du Uppdatera.
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.
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.
docker exec -it
Använd kommandot för att starta ett interaktivt bash-gränssnitt i containern som körs. I följande exempelAzureSQLEdge
är namnet som anges av parametern förName
din IoT Edge-modul.sudo docker exec -it AzureSQLEdge "bash"
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.
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
.
Från kommandotolken sqlcmd klistrar du in följande Transact-SQL-kommando för att skapa en testdatabas:
CREATE DATABASE TestDB; GO
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 Inventory
och infoga två nya rader.
Växla kontext till den nya
TestDB
databasen från kommandotolken för sqlcmd:USE TestDB;
Skapa en ny tabell med namnet
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Infoga data i den nya tabellen:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
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.
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;
Kör kommandot:
GO
Avsluta kommandotolken för sqlcmd
Om du vill avsluta sqlcmd-sessionen skriver du
QUIT
:QUIT
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.