Udostępnij za pośrednictwem


Konfigurowanie usługi Azure SQL Edge

Ważne

Usługa Azure SQL Edge zostanie wycofana 30 września 2025 r. Aby uzyskać więcej informacji i opcji migracji, zobacz powiadomienie o wycofaniu.

Uwaga

Usługa Azure SQL Edge nie obsługuje już platformy ARM64.

Usługa Azure SQL Edge obsługuje konfigurację za pomocą jednej z następujących dwóch opcji:

  • Zmienne środowiskowe
  • Plik mssql.conf umieszczony w folderze /var/opt/mssql

Uwaga

Ustawienie zmiennych środowiskowych zastępuje ustawienia określone w mssql.conf pliku.

Konfigurowanie przy użyciu zmiennych środowiskowych

Usługa Azure SQL Edge uwidacznia kilka różnych zmiennych środowiskowych, których można użyć do skonfigurowania kontenera usługi SQL Edge. Te zmienne środowiskowe są podzbiorem tych, które są dostępne dla programu SQL Server w systemie Linux. Aby uzyskać więcej informacji na temat zmiennych środowiskowych programu SQL Server w systemie Linux, zobacz Zmienne środowiskowe.

Następujące nowe zmienne środowiskowe zostały dodane do usługi Azure SQL Edge.

Zmienna środowiskowa opis Wartości
Identyfikator planu Określa jednostkę SKU usługi Azure SQL Edge, która ma być używana podczas inicjowania. Ta zmienna środowiskowa jest wymagana tylko podczas wdrażania usługi Azure SQL Edge przy użyciu usługi Azure IoT Edge. asde-developer-on-iot-edge lub asde-premium-on-iot-edge
MSSQL_TELEMETRY_ENABLED Włączanie lub wyłączanie zbierania danych użycia i diagnostyki. TRUE lub FALSE
MSSQL_TELEMETRY_DIR Ustawia katalog docelowy dla plików inspekcji zbierania danych użycia i diagnostyki. Lokalizacja folderu w kontenerze usługi SQL Edge. Ten folder można zamapować na wolumin hosta przy użyciu punktów instalacji lub woluminów danych.
MSSQL_PACKAGE Określa lokalizację pakietu dacpac lub bacpac do wdrożenia. Folder, plik lub adres URL sygnatury dostępu współdzielonego zawierający pakiety dacpac lub bacpac. Aby uzyskać więcej informacji, zobacz Deploy SQL Database DACPAC and BACPAC packages in SQL Edge (Wdrażanie pakietów DACPAC i BACPAC usługi SQL Database w przeglądarce SQL Edge).

Następująca zmienna środowiskowa programu SQL Server w systemie Linux nie jest obsługiwana w usłudze Azure SQL Edge. Jeśli jest zdefiniowana, ta zmienna środowiskowa jest ignorowana podczas inicjowania kontenera.

Zmienna środowiskowa opis
MSSQL_ENABLE_HADR Włącz grupę dostępności. Na przykład 1 jest włączona i 0 jest wyłączona.

Ważne

Zmienna środowiskowa MSSQL_PID dla usługi SQL Edge akceptuje tylko wartości Premium i Developer . Usługa Azure SQL Edge nie obsługuje inicjowania przy użyciu klucza produktu.

Określanie zmiennych środowiskowych

Określ zmienne środowiskowe dla programu SQL Edge podczas wdrażania usługi za pośrednictwem witryny Azure Portal. Można je dodać w sekcji Zmienne środowiskowe wdrożenia modułu lub w ramach opcji tworzenia kontenera.

Dodaj wartości w zmiennych środowiskowych.

Zrzut ekranu przedstawiający zestaw przy użyciu listy zmiennych środowiskowych.

Dodaj wartości w obszarze Opcje tworzenia kontenera.

Zrzut ekranu przedstawiający zestaw przy użyciu opcji tworzenia kontenera.

Uwaga

W trybie wdrożenia bez połączenia zmienne środowiskowe można określić przy użyciu -e polecenia lub --env lub --env-file .docker run

Konfigurowanie przy użyciu mssql.conf pliku

Usługa Azure SQL Edge nie zawiera narzędzia konfiguracji mssql-conf, takiego jak program SQL Server w systemie Linux. Należy ręcznie skonfigurować plik mssql.conf i umieścić go na trwałym dysku magazynu zamapowanym na folder /var/opt/mssql/ w module programu SQL Edge. Podczas wdrażania usługi SQL Edge za pośrednictwem usługi Azure IoT Hub to mapowanie jest określane jako opcja Instalacji w obszarze Opcje tworzenia kontenera.

{
  "Mounts": [
    {
      "Type": "volume",
      "Source": "sqlvolume",
      "Target": "/var/opt/mssql"
    }
  ]
}

Dodano następujące nowe opcje mssql.conf dla usługi Azure SQL Edge.

Opcja Opis
customerfeedback Wybierz, czy program SQL Server wysyła opinię do firmy Microsoft. Aby uzyskać więcej informacji, zobacz Wyłączanie zbierania danych diagnostycznych i użycia
userrequestedlocalauditdirectory Ustawia katalog docelowy dla plików inspekcji zbierania danych użycia i diagnostyki. Aby uzyskać więcej informacji, zobacz Inspekcja lokalna użycia i zbierania danych diagnostycznych

Następujące opcje mssql.conf nie mają zastosowania do przeglądarki SQL Edge:

Opcja Opis
Opinie klientów Wybierz, czy program SQL Server wysyła opinię do firmy Microsoft.
Profil poczty bazy danych Ustaw domyślny profil poczty bazy danych dla programu SQL Server w systemie Linux.
Wysoka dostępność Włącz grupy dostępności.
Koordynator transakcji rozproszonych firmy Microsoft Konfigurowanie i rozwiązywanie problemów z witryną MSDTC w systemie Linux. Dodatkowe opcje konfiguracji związane z transakcjami rozproszonym nie są obsługiwane w przypadku usługi SQL Edge. Aby uzyskać więcej informacji na temat tych dodatkowych opcji konfiguracji, zobacz Konfigurowanie witryny MSDTC.
Umowy EULA usług ML Zaakceptuj umowy EULA języka R i Python dla pakietów usługi Azure Machine Learning. Dotyczy tylko programu SQL Server 2019.
outboundnetworkaccess Włącz wychodzący dostęp sieciowy dla rozszerzeń języka R, Python i Java usług Machine Learning Services .

Poniższy przykładowy plik mssql.conf działa dla przeglądarki SQL Edge. Aby uzyskać więcej informacji na temat formatu mssql.conf pliku, zobacz mssql.conf format.

[EULA]
accepteula = Y

[coredump]
captureminiandfull = true
coredumptype = full

[filelocation]
defaultbackupdir = /var/opt/mssql/backup/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/log/

[language]
lcid = 1033

[memory]
memorylimitmb = 6144

[sqlagent]
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[traceflag]
traceflag0 = 3604
traceflag1 = 3605
traceflag2 = 1204

Uruchamianie usługi Azure SQL Edge jako użytkownika innego niż użytkownik główny

Domyślnie kontenery usługi Azure SQL Edge działają z użytkownikiem/grupą inną niż główna. Po wdrożeniu za pośrednictwem usługi Azure IoT Hub (lub przy użyciu docker runusługi ), chyba że określono innego użytkownika/grupy, kontenery usługi SQL Edge są uruchamiane jako użytkownik mssql (inny niż użytkownik główny). Aby określić innego użytkownika innego niż główny podczas wdrażania, dodaj *"User": "<name|uid>[:<group|gid>]"* parę klucz-wartość w obszarze opcje tworzenia kontenera. W poniższym przykładzie przeglądarka SQL Edge jest skonfigurowana do uruchamiania jako użytkownik *IoTAdmin*.

{
    ..
    ..
    ..
    "User": "IoTAdmin",
    "Env": [
        "MSSQL_AGENT_ENABLED=TRUE",
        "ClientTransportType=AMQP_TCP_Only",
        "MSSQL_PID=Premium"
    ]
}

Aby zezwolić użytkownikowi niebędącemu użytkownikiem głównym na dostęp do plików DB, które znajdują się na zainstalowanych woluminach, upewnij się, że użytkownik/grupa, w ramach której uruchomiono kontener, ma uprawnienia do odczytu i zapisu w trwałym magazynie plików. W poniższym przykładzie ustawiliśmy użytkownika innego niż główny user_id 10001 jako właściciela plików.

chown -R 10001:0 <database file dir>

Uaktualnianie z wcześniejszych wersji CTP

Wcześniejsze adresy CTP usługi Azure SQL Edge zostały skonfigurowane do uruchamiania jako użytkownicy root. Poniższe opcje są dostępne podczas uaktualniania z wcześniejszych CSP.

  • Kontynuuj korzystanie z użytkownika głównego — aby kontynuować korzystanie z użytkownika głównego, dodaj *"User": "0:0"* parę klucz-wartość w obszarze opcje tworzenia kontenera.

  • Użyj domyślnego użytkownika mssql — aby użyć domyślnego użytkownika mssql, wykonaj następujące kroki:

    • Dodaj użytkownika o nazwie mssql na hoście platformy Docker. W poniższym przykładzie dodamy użytkownika mssql o identyfikatorze 10001. Ten użytkownik jest również dodawany do grupy głównej.

      sudo useradd -M -s /bin/bash -u 10001 -g 0 mssql
      
    • Zmień uprawnienie do woluminu katalogu/instalacji, w którym znajduje się plik bazy danych

      sudo chgrp -R 0 /var/lib/docker/volumes/kafka_sqldata/
      sudo chmod -R g=u /var/lib/docker/volumes/kafka_sqldata/
      
  • Użyj innego konta użytkownika innego niż główny — aby użyć innego konta użytkownika innego niż root

    • Zaktualizuj opcje tworzenia kontenera, aby określić parę dodaj *"User": "user_name | user_id* parę klucz-wartość w obszarze opcje tworzenia kontenera. Zastąp user_name lub user_id rzeczywistym user_name lub user_id z hosta platformy Docker.
    • Zmień uprawnienia na woluminie katalogu/instalacji.

Utrwalanie danych

Zmiany konfiguracji usługi Azure SQL Edge i pliki bazy danych są utrwalane w kontenerze, nawet jeśli ponownie uruchomisz kontener za pomocą poleceń docker stop i docker start. Jeśli jednak usuniesz kontener za pomocą docker rmpolecenia , wszystkie elementy w kontenerze zostaną usunięte, w tym usługa Azure SQL Edge i bazy danych. W poniższej sekcji wyjaśniono, jak używać woluminów danych do utrwalania plików bazy danych, nawet jeśli skojarzone kontenery zostaną usunięte.

Ważne

W przypadku usługi Azure SQL Edge ważne jest zrozumienie trwałości danych na platformie Docker. Oprócz dyskusji w tej sekcji zobacz dokumentację platformy Docker dotyczącą zarządzania danymi w kontenerach platformy Docker.

Instalowanie katalogu hostów jako woluminu danych

Pierwszą opcją jest zainstalowanie katalogu na hoście jako woluminu danych w kontenerze. W tym celu użyj docker run polecenia z flagą -v <host directory>:/var/opt/mssql . Dzięki temu dane mogą być przywracane między wykonywaniem kontenera.

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v <host directory>/data:/var/opt/mssql/data -v <host directory>/log:/var/opt/mssql/log -v <host directory>/secrets:/var/opt/mssql/secrets -d mcr.microsoft.com/azure-sql-edge

Ta technika umożliwia również udostępnianie i wyświetlanie plików na hoście poza platformą Docker.

Ważne

Mapowanie woluminów hosta dla platformy Docker w systemie Windows nie obsługuje obecnie mapowania kompletnego /var/opt/mssql katalogu. Można jednak mapować podkatalog, taki jak /var/opt/mssql/data na maszynę hosta.

Ważne

Mapowanie woluminów hostów dla platformy Docker w systemie macOS z obrazem usługi Azure SQL Edge nie jest obecnie obsługiwane. Zamiast tego użyj kontenerów woluminów danych. To ograniczenie jest specyficzne dla /var/opt/mssql katalogu. Odczytywanie z zainstalowanego katalogu działa poprawnie. Na przykład można zainstalować katalog hosta przy użyciu systemu -v macOS i przywrócić kopię zapasową z .bak pliku znajdującego się na hoście.

Korzystanie z kontenerów woluminów danych

Drugą opcją jest użycie kontenera woluminu danych. Kontener woluminów danych można utworzyć, określając nazwę woluminu zamiast katalogu hosta za pomocą parametru -v . Poniższy przykład tworzy udostępniony wolumin danych o nazwie sqlvolume.

docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>" -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge

Uwaga

Ta technika niejawnego tworzenia woluminu danych w poleceniu uruchamiania nie działa ze starszymi wersjami platformy Docker. W takim przypadku użyj jawnych kroków opisanych w dokumentacji platformy Docker, Tworzenie i instalowanie kontenera woluminów danych.

Nawet jeśli zatrzymasz i usuniesz ten kontener, wolumin danych będzie się powtarzać. Możesz go wyświetlić za docker volume ls pomocą polecenia .

docker volume ls

Jeśli następnie utworzysz inny kontener o tej samej nazwie woluminu, nowy kontener używa tych samych danych usługi Azure SQL Edge zawartych w woluminie.

Aby usunąć kontener woluminów danych, użyj docker volume rm polecenia .

Ostrzeżenie

Jeśli usuniesz kontener woluminów danych, wszystkie dane usługi Azure SQL Edge w kontenerze zostaną trwale usunięte.