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.
Dodaj wartości w obszarze Opcje 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 run
usł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.
- Zaktualizuj opcje tworzenia kontenera, aby określić parę dodaj
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 rm
polecenia , 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.