Delen via


Azure SQL Edge implementeren met behulp van Docker

Belangrijk

Azure SQL Edge wordt op 30 september 2025 buiten gebruik gesteld. Zie de kennisgeving buitengebruikstelling voor meer informatie en migratieopties.

Notitie

Azure SQL Edge biedt geen ondersteuning meer voor het ARM64-platform.

In deze quickstart gebruikt u Docker om de installatiekopie van de Azure SQL Edge-container op te halen en uit te voeren. Maak vervolgens verbinding met sqlcmd om uw eerste database te maken en query's uit te voeren.

Deze installatiekopie bestaat uit SQL Edge op basis van Ubuntu 18.04. Het kan worden gebruikt met de Docker Engine 1.8+ op Linux.

Azure SQL Edge-containers worden niet ondersteund op de volgende platforms voor productieworkloads:

  • Windows
  • macOS
  • Azure IoT Edge voor Linux in Windows (EFLOW)

Vereisten

  • Docker Engine 1.8+ op elke ondersteunde Linux-distributie. Zie Docker installeren voor meer informatie. Omdat de SQL Edge-installatiekopieën zijn gebaseerd op Ubuntu 18.04, raden we u aan een Ubuntu 18.04 Docker-host te gebruiken.
  • Docker-stuurprogramma voor opslag overlay2. Dit is de standaardinstelling voor de meeste gebruikers. Als u merkt dat u deze opslagprovider niet gebruikt en moet wijzigen, raadpleegt u de instructies en waarschuwingen in de Docker-documentatie voor het configureren van overlay2.
  • Minimaal 10 GB schijfruimte.
  • Minimaal 1 GB aan RAM-geheugen.
  • Hardwarevereisten voor Azure SQL Edge.

Notitie

Voor de bash-opdrachten in dit artikel wordt sudo gebruikt. Als u Docker niet wilt uitvoeren sudo , kunt u een Docker-groep configureren en gebruikers toevoegen aan die groep. Zie Stappen na de installatie voor Linux voor meer informatie.

De containerinstallatiekopie ophalen en uitvoeren

  1. Haal de Azure SQL Edge-containerinstallatiekopie op vanuit het Microsoft-containerregister.

    sudo docker pull mcr.microsoft.com/azure-sql-edge:latest
    

    Met de vorige opdracht wordt de meest recente SQL Edge-containerinstallatiekopie opgehaald. Als u alle beschikbare installatiekopieën wilt zien, raadpleegt u de pagina azure-sql-edge Docker Hub.

  2. Als u de containerinstallatiekopieën wilt uitvoeren met Docker, gebruikt u de volgende opdracht vanuit een bash-shell:

    • Start een Azure SQL Edge-exemplaar dat wordt uitgevoerd als de Developer-editie:

      sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=<password>' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
      
    • Start een Azure SQL Edge-exemplaar dat wordt uitgevoerd als de Premium-editie:

      sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=<password>' -e 'MSSQL_PID=Premium' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
      

    Belangrijk

    Het wachtwoord moet het standaardwachtwoordbeleid voor microsoft SQL Database Engine volgen, anders kan de container de SQL Database Engine niet instellen en werkt het niet meer. Standaard moet het wachtwoord ten minste acht tekens lang zijn en tekens bevatten uit drie van de volgende vier sets: hoofdletters, kleine letters, basis-10 cijfers en symbolen. U kunt het foutenlogboek controleren door de opdracht docker logs uit te voeren.

    De volgende tabel bevat een beschrijving van de parameters in de vorige docker run voorbeelden:

    Parameter Description
    -e "ACCEPT_EULA=Y" De variabele ACCEPT_EULA instellen op een willekeurige waarde om te bevestigen dat u de Licentieovereenkomst voor eindgebruikers hebt geaccepteerd. Vereiste instelling voor de SQL Edge-installatiekopieën.
    -e "MSSQL_SA_PASSWORD=<password>" Geef uw eigen sterke wachtwoord op dat ten minste acht tekens bevat en voldoet aan de wachtwoordvereisten. Vereiste instelling voor de SQL Edge-installatiekopieën.
    -p 1433:1433 Een TCP-poort in de hostomgeving (eerste waarde) toewijzen aan een TCP-poort in de container (tweede waarde). In dit voorbeeld luistert SQL Edge op TCP 1433 in de container en wordt dit blootgesteld aan de poort 1433 op de host.
    --name azuresqledge Een aangepaste naam voor de container opgeven in plaats van een willekeurig gegenereerde naam. Als u meer dan één container uitvoert, kunt u deze naam niet opnieuw gebruiken.
    -d De container op de achtergrond uitvoeren (daemon)

    Zie Azure SQL Edge configureren met omgevingsvariabelen in Azure SQL Edge voor een volledige lijst met alle omgevingsvariabelen van Azure SQL Edge. U kunt ook een mssql.conf-bestand gebruiken om SQL Edge-containers te configureren.

  3. Als u uw Docker-containers wilt weergeven, gebruikt u de opdracht docker ps.

    sudo docker ps -a
    
  4. Als in de kolom STATUS de status van Up wordt weergegeven, wordt SQL Edge uitgevoerd in de container en luistert deze op de poort die is opgegeven in de kolom POORTEN. Als in de kolom STATUS voor uw SQL Edge-container exited wordt weergegeven, raadpleegt u de sectie Probleemoplossing van de Documentatie voor Azure SQL Edge.

    De -h parameter (hostnaam) is ook nuttig, maar wordt niet gebruikt in deze zelfstudie voor het gemak. Hiermee wordt de interne naam van de container gewijzigd in een aangepaste waarde. Dit is de naam die wordt geretourneerd in de volgende Transact-SQL-query:

    SELECT @@SERVERNAME,
        SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
        SERVERPROPERTY('MachineName'),
        SERVERPROPERTY('ServerName');
    

    Het instellen van -h en --name op dezelfde waarde is een goede manier om de doelcontainer gemakkelijk te identificeren.

  5. Als laatste stap wijzigt u uw SA-wachtwoord omdat de MSSQL_SA_PASSWORD zichtbaar is in uitvoer van ps -eax en wordt opgeslagen in de omgevingsvariabele met dezelfde naam. Zie de volgende stappen.

Het SA-wachtwoord te wijzigen

Het SA-account is een systeembeheerder op het exemplaar van de Azure SQL Edge dat tijdens de installatie wordt gemaakt. Nadat u uw SQL Edge-container hebt gemaakt, kan de MSSQL_SA_PASSWORD omgevingsvariabele die u hebt opgegeven, worden gedetecteerd door deze uit te voeren echo $MSSQL_SA_PASSWORD in de container. Wijzig het SA-wachtwoord om veiligheidsredenen.

  1. Kies een sterk wachtwoord voor de SA-gebruiker.

  2. Gebruik docker exec om sqlcmd uit te voeren om het wachtwoord te wijzigen met behulp van Transact-SQL. Vervang in het volgende voorbeeld het oude wachtwoord, <old-password>, en het nieuwe wachtwoord, <new-password>, door uw eigen wachtwoorden.

    sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P "<old-password>" \
       -Q 'ALTER LOGIN SA WITH PASSWORD="<new-password>"'
    

Verbinding maken met Azure SQL Edge

In de volgende stappen wordt het opdrachtregelprogramma van Azure SQL Edge, sqlcmd, in de container gebruikt om verbinding te maken met SQL Edge.

  1. Gebruik de opdracht docker exec -it voor het starten van een interactieve bash-shell in de container die wordt uitgevoerd. In het volgende voorbeeld azuresqledge is dit de naam die is opgegeven door de --name parameter bij het maken van de container.

    sudo docker exec -it azuresqledge "bash"
    
  2. Maak in de container lokaal verbinding met sqlcmd. sqlcmd bevindt zich niet standaard in het pad, dus u moet het volledige pad opgeven.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<password>"
    

    Tip

    U kunt het wachtwoord op de opdrachtregel weglaten om te worden gevraagd het in te voeren.

  3. Als dit is gelukt, krijgt u een opdrachtprompt voor sqlcmd: 1>.

Gegevens maken en er query's op uitvoeren

In de volgende secties leert u hoe u sqlcmd en Transact-SQL gebruikt om een nieuwe database te maken, gegevens toe te voegen en een query uit te voeren.

Een nieuwe database maken

Met de volgende stappen maakt u een nieuwe database met de naam TestDB.

  1. Plak de volgende Transact-SQL-opdracht van de opdrachtprompt van sqlcmd om een testdatabase te maken:

    CREATE DATABASE TestDB;
    GO
    
  2. Schrijf op de volgende regel een query om de naam van alle databases op uw server te retourneren:

    SELECT name from sys.databases;
    GO
    

Gegevens invoegen

Maak vervolgens een nieuwe tabel, Inventory, en voeg twee nieuwe rijen in.

  1. Ga vanuit de opdrachtprompt van sqlcmd naar de nieuwe TestDB-database:

    USE TestDB;
    
  2. Maak een nieuwe tabel met de naam Inventory:

    CREATE TABLE Inventory (
        id INT,
        name NVARCHAR(50),
        quantity INT
    );
    
  3. Voeg gegevens in de nieuwe tabel in:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Typ GO om de vorige opdrachten uit te voeren:

    GO
    

Gegevens selecteren

Voer nu een query uit om gegevens op te halen uit de tabel Inventory.

  1. Voer vanuit de opdrachtprompt van sqlcmd een query in die rijen uit de tabel Inventory retourneert, waarbij de hoeveelheid groter is dan 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Voer de opdracht uit:

    GO
    

De sqlcmd-opdrachtprompt afsluiten

  1. Als u uw sqlcmd-sessie wilt beëindigen, typt u QUIT:

    QUIT
    
  2. Als u de interactieve opdrachtprompt in de container wilt afsluiten, typt u exit. Uw container blijft actief nadat u de interactieve bash-shell hebt afgesloten.

Verbinding maken van buiten de container

U kunt ook verbinding maken met het SQL Edge-exemplaar op uw Docker-computer vanuit elk extern Linux-, Windows- of macOS-hulpprogramma dat ONDERSTEUNING biedt voor SQL-verbindingen. Zie Verbinding maken en query's uitvoeren op Azure SQL Edge voor meer informatie over het maken van verbinding met een SQL Edge-container van buiten.

De container verwijderen

Als u de SQL Edge-container wilt verwijderen die in deze zelfstudie wordt gebruikt, voert u de volgende opdrachten uit:

sudo docker stop azuresqledge
sudo docker rm azuresqledge

Waarschuwing

Als u een container stopt en verwijdert, worden alle SQL Edge-gegevens in de container definitief verwijderd. Als u uw gegevens wilt behouden, maakt en kopieert u een back-upbestand vanuit de container of gebruikt u een techniek voor containergegevenspersistentie.