Konfigurace Azure SQL Edge
Důležité
Azure SQL Edge bude vyřazeno 30. září 2025. Další informace a možnosti migrace najdete v oznámení o vyřazení.
Poznámka:
Azure SQL Edge už nepodporuje platformu ARM64.
Azure SQL Edge podporuje konfiguraci prostřednictvím jedné z následujících dvou možností:
- Proměnné prostředí
- Soubor mssql.conf umístěný ve složce /var/opt/mssql
Poznámka:
Nastavení proměnných prostředí přepíše nastavení zadaná v mssql.conf
souboru.
Konfigurace pomocí proměnných prostředí
Azure SQL Edge zveřejňuje několik různých proměnných prostředí, které je možné použít ke konfiguraci kontejneru SQL Edge. Tyto proměnné prostředí jsou podmnožinou těch, které jsou k dispozici pro SQL Server v Linuxu. Další informace o SQL Serveru v linuxových proměnných prostředí najdete v tématu Proměnné prostředí.
Do Azure SQL Edge byly přidány následující nové proměnné prostředí.
Proměnná prostředí | Popis | Hodnoty |
---|---|---|
PlanId | Určuje skladovou položku Azure SQL Edge, která se má použít během inicializace. Tato proměnná prostředí se vyžaduje jenom při nasazování Azure SQL Edge pomocí Azure IoT Edge. | asde-developer-on-iot-edge nebo asde-premium-on-iot-edge |
MSSQL_TELEMETRY_ENABLED | Povolte nebo zakažte shromažďování dat o využití a diagnostice. | TRUE nebo FALSE |
MSSQL_TELEMETRY_DIR | Nastaví cílový adresář pro soubory auditu shromažďování dat o využití a diagnostice. | Umístění složky v kontejneru SQL Edge Tuto složku lze mapovat na hostitelský svazek pomocí přípojných bodů nebo datových svazků. |
MSSQL_PACKAGE | Určuje umístění balíčku dacpac nebo bacpac, který se má nasadit. | Složka, soubor nebo adresa URL SAS obsahující balíčky dacpac nebo bacpac. Další informace najdete v tématu Nasazení balíčků DACPAC a BACPAC služby SQL Database v SQL Edgi. |
Azure SQL Edge nepodporuje následující proměnnou prostředí SQL Serveru v Linuxu. Pokud je definována, tato proměnná prostředí se během inicializace kontejneru ignoruje.
Proměnná prostředí | Popis |
---|---|
MSSQL_ENABLE_HADR | Povolte skupinu dostupnosti. Je například 1 povolená a 0 je zakázaná. |
Důležité
Proměnná prostředí MSSQL_PID pro SQL Edge přijímá jako platné hodnoty pouze Premium a Developer . Azure SQL Edge nepodporuje inicializaci pomocí kódu Product Key.
Určení proměnných prostředí
Při nasazování služby prostřednictvím webu Azure Portal zadejte proměnné prostředí pro SQL Edge. Můžete je přidat buď v části Proměnné prostředí nasazení modulu, nebo jako součást možností vytvoření kontejneru.
Přidejte hodnoty do proměnných prostředí.
Přidejte hodnoty v možnostech vytvoření kontejneru.
Poznámka:
V odpojeném režimu nasazení je možné pomocí příkazu nebo --env
možnosti --env-file
docker run
příkazu zadat -e
proměnné prostředí.
Konfigurace pomocí mssql.conf
souboru
Azure SQL Edge nezahrnuje konfigurační nástroj mssql-conf, jako je SQL Server v Linuxu. Musíte ručně nakonfigurovat soubor mssql.conf a umístit ho na trvalou jednotku úložiště, která je namapovaná na složku /var/opt/mssql/ v modulu SQL Edge. Při nasazování SQL Edge prostřednictvím Azure IoT Hubu se toto mapování zadává jako možnost Připojení v možnostech vytvoření kontejneru.
{
"Mounts": [
{
"Type": "volume",
"Source": "sqlvolume",
"Target": "/var/opt/mssql"
}
]
}
Pro Azure SQL Edge byly přidány následující nové možnosti mssql.conf.
Možnost | Popis |
---|---|
customerfeedback | Zvolte, jestli SQL Server pošle Microsoftu zpětnou vazbu. Další informace najdete v tématu Zakázání používání a shromažďování diagnostických dat. |
userrequestedlocalauditdirectory | Nastaví cílový adresář pro soubory auditu shromažďování dat o využití a diagnostice. Další informace najdete v tématu Místní audit využití a shromažďování diagnostických dat. |
Následující možnosti mssql.conf se nevztahují na SQL Edge:
Možnost | Popis |
---|---|
Zpětná vazba zákazníků | Zvolte, jestli SQL Server pošle Microsoftu zpětnou vazbu. |
Profil databázové pošty | Nastavte výchozí profil databázové pošty pro SQL Server v Linuxu. |
Vysoká dostupnost | Povolte skupiny dostupnosti. |
Koordinátor distribuovaných transakcí Microsoftu | Konfigurace a řešení potíží s MSDTC v Linuxu Pro SQL Edge nejsou podporované další možnosti konfigurace související s distribuovanými transakcemi. Další informace o těchto dalších možnostech konfigurace naleznete v tématu Konfigurace MSDTC. |
ML Services EULA | Přijměte R a Python EULA pro balíčky Azure Machine Learning. Platí jenom pro SQL Server 2019. |
outboundnetworkaccess | Povolte odchozí síťový přístup pro rozšíření Machine Learning Services R, Python a Java. |
Následující ukázkový soubor mssql.conf funguje pro SQL Edge. Další informace o formátu mssql.conf
souboru naleznete ve formátu mssql.conf.
[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
Spuštění Azure SQL Edge jako uživatele, který není root
Ve výchozím nastavení běží kontejnery Azure SQL Edge s uživatelem nebo skupinou, které nejsou rootem. Pokud není zadaný jiný uživatel nebo skupina, kontejnery SQL Edge se při nasazení prostřednictvím služby Azure IoT Hub (nebo pomocí docker run
) spustí jako uživatel mssql (ne root). Pokud chcete během nasazení zadat jiného uživatele, který není root, přidejte do možností vytvoření kontejneru *"User": "<name|uid>[:<group|gid>]"*
dvojici klíč-hodnota. V následujícím příkladu je SQL Edge nakonfigurovaný tak, aby se spustil jako uživatel *IoTAdmin*
.
{
..
..
..
"User": "IoTAdmin",
"Env": [
"MSSQL_AGENT_ENABLED=TRUE",
"ClientTransportType=AMQP_TCP_Only",
"MSSQL_PID=Premium"
]
}
Pokud chcete, aby uživatel, který není rootem, získal přístup k souborům DB na připojených svazcích, ujistěte se, že uživatel nebo skupina, pod kterým kontejner spouštíte, má oprávnění ke čtení a zápisu do trvalého úložiště souborů. V následujícím příkladu jsme jako vlastníka souborů nastavili uživatele user_id
10001
, který není root.
chown -R 10001:0 <database file dir>
Upgrade ze starších verzí CTP
Starší poskytovatelé CSP Azure SQL Edge byli nakonfigurováni tak, aby běželi jako kořenoví uživatelé. Při upgradu z předchozích poskytovatelů CSP jsou k dispozici následující možnosti.
Pokračujte v používání kořenového uživatele – Pokud chcete pokračovat v používání kořenového uživatele, přidejte do možností vytvoření kontejneru
*"User": "0:0"*
dvojici klíč-hodnota.Použijte výchozího uživatele mssql – Pokud chcete použít výchozího uživatele mssql, postupujte takto:
Přidejte uživatele s názvem
mssql
na hostitele Dockeru. V následujícím příkladu přidáme uživatele mssql s ID 10001. Tento uživatel je také přidán do kořenové skupiny.sudo useradd -M -s /bin/bash -u 10001 -g 0 mssql
Změna oprávnění ke svazku adresáře nebo připojení, ve kterém se nachází soubor databáze
sudo chgrp -R 0 /var/lib/docker/volumes/kafka_sqldata/ sudo chmod -R g=u /var/lib/docker/volumes/kafka_sqldata/
Použití jiného uživatelského účtu, který není root – Pokud chcete použít jiný účet uživatele, který není root
- Aktualizujte možnosti vytvoření kontejneru, abyste v části možnosti vytvoření kontejneru zadali
*"User": "user_name | user_id*
dvojici klíč-hodnota. Nahraďte user_name nebo user_id skutečným user_name nebo user_id z hostitele Dockeru. - Změňte oprávnění ke svazku adresáře nebo připojení.
- Aktualizujte možnosti vytvoření kontejneru, abyste v části možnosti vytvoření kontejneru zadali
Uchování dat
Změny konfigurace Azure SQL Edge a soubory databáze se v kontejneru zachovají, i když kontejner restartujete pomocí docker stop
příkazu a docker start
. Pokud ale kontejner docker rm
odeberete , odstraní se všechno v kontejneru, včetně Azure SQL Edge a vašich databází. Následující část vysvětluje, jak pomocí datových svazků zachovat soubory databáze, i když jsou přidružené kontejnery odstraněny.
Důležité
Pro Azure SQL Edge je důležité pochopit trvalost dat v Dockeru. Kromě diskuze v této části si přečtěte dokumentaci Dockeru o správě dat v kontejnerech Dockeru.
Připojení hostitelského adresáře jako datového svazku
První možností je připojit adresář k hostiteli jako datový svazek v kontejneru. K tomu použijte docker run
příkaz s příznakem -v <host directory>:/var/opt/mssql
. To umožňuje obnovení dat mezi spuštěními kontejneru.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -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=<password>" -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
Tato technika také umožňuje sdílet a zobrazovat soubory na hostiteli mimo Docker.
Důležité
Mapování svazků hostitele pro Docker ve Windows v současné době nepodporuje mapování celého /var/opt/mssql
adresáře. Můžete ale namapovat podadresář, například /var/opt/mssql/data
na hostitelský počítač.
Důležité
Mapování svazků hostitele pro Docker v macOS s imagí Azure SQL Edge se v tuto chvíli nepodporuje. Místo toho použijte kontejnery datového svazku. Toto omezení je specifické pro /var/opt/mssql
adresář. Čtení z připojeného adresáře funguje správně. Můžete například připojit hostitelský adresář pomocí -v
systému macOS a obnovit zálohu ze .bak
souboru, který se nachází na hostiteli.
Použití kontejnerů datového svazku
Druhou možností je použít kontejner datového svazku. Kontejner datového svazku můžete vytvořit zadáním názvu svazku místo adresáře hostitele s parametrem -v
. Následující příklad vytvoří sdílený datový svazek s názvem sqlvolume.
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<password>' -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=<password>" -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/azure-sql-edge
Poznámka:
Tato technika pro implicitní vytvoření datového svazku v příkazu run nefunguje se staršími verzemi Dockeru. V takovém případě použijte explicitní kroky popsané v dokumentaci k Dockeru, vytvoření a připojení kontejneru datového svazku.
I když tento kontejner zastavíte a odeberete, datový svazek se zachová. Můžete ho docker volume ls
zobrazit pomocí příkazu.
docker volume ls
Pokud pak vytvoříte jiný kontejner se stejným názvem svazku, použije nový kontejner stejná data Azure SQL Edge obsažená ve svazku.
Pokud chcete odebrat kontejner datového svazku docker volume rm
, použijte příkaz.
Upozorňující
Pokud kontejner datového svazku odstraníte, všechna data Azure SQL Edge v kontejneru se trvale odstraní.