Azure SQL Edge 'i yapılandırma
Azure SQL Edge, yapılandırmayı aşağıdaki iki seçenekten biri aracılığıyla destekler:
- Ortam değişkenleri
- /Var/seçenek/MSSQL klasörüne yerleştirilmiş bir MSSQL. conf dosyası
Not
Ortam değişkenlerinin ayarlanması, MSSQL. conf dosyasında belirtilen ayarları geçersiz kılar.
Ortam değişkenlerini kullanarak yapılandırma
Azure SQL edge, SQL Edge kapsayıcısını yapılandırmak için kullanılabilecek çeşitli farklı ortam değişkenlerini kullanıma sunar. bu ortam değişkenleri, Linux üzerinde SQL Server için kullanılabilir olanların bir alt kümesidir. Linux üzerinde SQL Server ortam değişkenleri hakkında daha fazla bilgi için bkz. ortam değişkenleri.
Azure SQL Edge 'e aşağıdaki yeni ortam değişkenleri eklenmiştir.
| Ortam değişkeni | Description | Değerler |
|---|---|---|
| PlanID | başlatma sırasında kullanılacak Azure SQL Edge SKU 'sunu belirtir. bu ortam değişkeni yalnızca Azure IoT Edge kullanılarak Azure SQL Edge dağıtıldığında gereklidir. | asde-geliştirici-IoT-Edge veya asde-Premium-IoT-Edge |
| MSSQL_TELEMETRY_ENABLED | Kullanım ve tanılama veri toplamayı etkinleştirin veya devre dışı bırakın. | TRUE veya FALSE |
| MSSQL_TELEMETRY_DIR | Kullanım ve tanılama veri toplama denetim dosyaları için hedef dizini ayarlar. | SQL Edge kapsayıcısı içindeki klasör konumu. Bu klasör, bağlama noktaları veya veri birimleri kullanılarak bir konak birimi ile eşleştirilebilir. |
| MSSQL_PACKAGE | Dağıtılacak dacpac veya bacpac paketinin konumunu belirtir. | Dacpac veya bacpac paketlerini içeren klasör, dosya veya SAS URL 'SI. daha fazla bilgi için SQL Edge 'de SQL Veritabanı dacpac ve bacpac paketleri dağıtmakonusuna bakın. |
Azure SQL Edge için aşağıdaki Linux üzerinde SQL Server ortam değişkeni desteklenmez. Tanımlandıysa, bu ortam değişkeni kapsayıcı başlatma sırasında yok sayılır.
| Ortam değişkeni | Description |
|---|---|
| MSSQL_ENABLE_HADR | Kullanılabilirlik grubunu etkinleştirin. Örneğin, 1 etkindir ve 0 devre dışıdır. |
Önemli
SQL Edge için MSSQL_PID ortam değişkeni, geçerli değerler olarak yalnızca Premium ve geliştiriciyi kabul eder. Azure SQL Edge, bir ürün anahtarı kullanarak başlatmayı desteklemez.
Ortam değişkenlerini belirtin
hizmeti Azure portalaracılığıyla dağıtırken SQL Edge için ortam değişkenlerini belirtin. Bunları modül dağıtımının ortam değişkenleri bölümünde veya kapsayıcı oluşturma seçeneklerinin bir parçası olarak ekleyebilirsiniz.
Ortam değişkenlerine değer ekleyin.

Kapsayıcı oluşturma seçeneklerinde değer ekleyin.

Not
Bağlantısı kesilmiş dağıtım modunda, ortam değişkenleri, -e veya --env --env-file komutunun seçeneği kullanılarak belirtilebilir docker run .
Bir dosya kullanarak yapılandırma mssql.conf
Azure SQL Edge Linux üzerinde SQL Server gibi mssql-conf yapılandırma yardımcı programını içermez. mssql. conf dosyasını el ile yapılandırmanız ve SQL Edge modülünde/var/seçenek/mssql/klasörüne eşlenmiş kalıcı depolama sürücüsüne yerleştirmeniz gerekir. Azure marketi 'nden SQL Edge dağıttığınızda, bu eşleme kapsayıcı oluşturma seçeneklerinde bağlama seçeneği olarak belirtilir.
{
"Mounts": [
{
"Type": "volume",
"Source": "sqlvolume",
"Target": "/var/opt/mssql"
}
]
}
}
Azure SQL Edge için aşağıdaki yeni mssql. conf seçenekleri eklenmiştir.
| Seçenek | Açıklama |
|---|---|
| CustomerFeedback | SQL Server Microsoft 'a geri bildirim gönderip göndermediğini seçin. Daha fazla bilgi için bkz. kullanım ve tanılama veri toplamayı devre dışı bırakma |
| userrequestedlocalauditdirectory | Kullanım ve tanılama veri toplama denetim dosyaları için hedef dizini ayarlar. Daha fazla bilgi için bkz. kullanım ve Tanılama verileri toplama Için yerel denetim |
aşağıdaki mssql. conf seçenekleri SQL Edge için geçerli değildir:
| Seçenek | Açıklama |
|---|---|
| Müşteri geri bildirimi | SQL Server Microsoft 'a geri bildirim gönderip göndermediğini seçin. |
| Veritabanı posta profili | Linux üzerinde SQL Server için varsayılan veritabanı posta profilini ayarlayın. |
| Yüksek kullanılabilirlik | Kullanılabilirlik gruplarını etkinleştirin. |
| Microsoft Dağıtılmış İşlem Düzenleyicisi | Linux üzerinde MSDTC 'yi yapılandırma ve sorunlarını giderme. SQL Edge için ek dağıtılmış işlemle ilgili yapılandırma seçenekleri desteklenmez. Bu ek yapılandırma seçenekleri hakkında daha fazla bilgi için bkz. MSDTC 'Yi yapılandırma. |
| ML Services eula 'ları | Azure Machine Learning paketleri için R ve Python eula 'ları kabul edin. yalnızca SQL Server 2019 için geçerlidir. |
| outboundnetworkaccess | Machine Learning Services R, Python ve Java uzantıları için giden ağ erişimini etkinleştirin. |
aşağıdaki örnek mssql. conf dosyası SQL Edge için geçerlidir. Bir dosyanın biçimi hakkında daha fazla bilgi için mssql.conf bkz. MSSQL. conf biçimi.
[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
Azure SQL Edge 'i kök olmayan kullanıcı olarak çalıştırma
varsayılan olarak, Azure SQL Edge kapsayıcıları kök olmayan kullanıcı/grup ile çalışır. Azure marketi aracılığıyla (veya docker run kullanılarak) dağıtıldığında, farklı bir kullanıcı/grup belirtilmediği sürece SQL Edge kapsayıcıları mssql (kök olmayan) kullanıcı olarak başlatılır. Dağıtım sırasında farklı bir kök olmayan kullanıcı belirtmek için *"User": "<name|uid>[:<group|gid>]"* kapsayıcı oluşturma seçenekleri altına anahtar-değer çiftini ekleyin. aşağıdaki örnekte SQL Edge kullanıcı olarak başlatılacak şekilde yapılandırılmıştır *IoTAdmin* .
{
..
..
..
"User": "IoTAdmin",
"Env": [
"MSSQL_AGENT_ENABLED=TRUE",
"ClientTransportType=AMQP_TCP_Only",
"MSSQL_PID=Premium"
]
}
Kök olmayan kullanıcının bağlı birimlerde bulunan DB dosyalarına erişmesine izin vermek için, kapsayıcıyı çalıştırdığınız Kullanıcı/grubun, kalıcı dosya depolaması üzerinde okuma & yazma izinlerine sahip olduğundan emin olun. Aşağıdaki örnekte, kök olmayan kullanıcıyı dosyaların sahibi olarak user_id 10001 ile ayarlayacağız.
chown -R 10001:0 <database file dir>
Önceki CTP sürümlerinden yükseltme
Azure SQL Edge 'in önceki tanıtıcısı, kök kullanıcılar olarak çalışacak şekilde yapılandırılmıştır. Önceki CTPs 'lerden yükseltme yaparken aşağıdaki seçenekler mevcuttur.
- Kök kullanıcıyı kullanmaya devam et-kök kullanıcıyı kullanmaya devam etmek Için
*"User": "0:0"*kapsayıcı oluşturma seçenekleri altına anahtar-değer çiftini ekleyin. - Varsayılan MSSQL kullanıcısını kullanın-varsayılan MSSQL kullanıcısını kullanmak Için aşağıdaki adımları izleyin
- Docker konağına MSSQL adlı bir kullanıcı ekleyin. Aşağıdaki örnekte, KIMLIĞI 10001 olan bir Kullanıcı MSSQL 'si ekleyeceğiz. Bu Kullanıcı kök gruba da eklenir.
sudo useradd -M -s /bin/bash -u 10001 -g 0 mssql - Veritabanı dosyasının bulunduğu dizin/bağlama biriminde izinleri değiştirme
sudo chgrp -R 0 /var/lib/docker/volumes/kafka_sqldata/ sudo chmod -R g=u /var/lib/docker/volumes/kafka_sqldata/
- Docker konağına MSSQL adlı bir kullanıcı ekleyin. Aşağıdaki örnekte, KIMLIĞI 10001 olan bir Kullanıcı MSSQL 'si ekleyeceğiz. Bu Kullanıcı kök gruba da eklenir.
- Farklı bir kök olmayan kullanıcı hesabı kullanın-kök olmayan farklı bir kullanıcı hesabı kullanmak Için
- Kapsayıcı
*"User": "user_name | user_id*oluşturma seçenekleri altında anahtar-değer çifti Ekle öğesini belirtmek için kapsayıcı oluşturma seçeneklerini güncelleştirin. User_name veya user_id, Docker konağından gerçek user_name veya user_id değiştirin. - Dizin/bağlama birimi üzerindeki izinleri değiştirin.
- Kapsayıcı
Verilerinizi kalıcı olarak koruma
Azure SQL Edge yapılandırma değişiklikleriniz ve ve ile kapsayıcıyı yeniden başlatsanız bile veritabanı dosyaları kapsayıcıda kalıcı docker stop docker start olur. Ancak kapsayıcıyı ile kaldırırsanız, Azure SQL Edge ve veritabanlarınız docker rm dahil olmak üzere kapsayıcının tüm öğeleri silinir. Aşağıdaki bölümde, ilişkili kapsayıcılar silinse bile veritabanı dosyalarınızı kalıcı hale etmek için veri birimlerini nasıl kullanabileceğiniz açıklanıyor.
Önemli
Azure SQL Edge için Docker'da veri kalıcılığı anlamanız kritik öneme sahip. Bu bölümdeki tartışmaya ek olarak, Docker kapsayıcılarında verileri yönetmeye ilişkin Docker belgelerine bakın.
Bir konak dizinini veri birimi olarak bağlama
İlk seçenek, konakta bir dizini kapsayıcınıza veri birimi olarak bağlamanızdır. Bunu yapmak için komutunu docker run bayrağıyla -v <host directory>:/var/opt/mssql birlikte kullanın. Bu, verilerin kapsayıcı yürütmeleri arasında geri yüklenebilir.
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
Bu teknik, Docker dışında konakta dosyaları paylaşma ve görüntülemenizi de sağlar.
Önemli
Windows üzerinde Docker için konak birimi eşlemesi şu anda tam dizin eşlemesini /var/opt/mssql desteklemez. Ancak, gibi bir alt dizini ana makinenize /var/opt/mssql/data eşlersiniz.
Önemli
Azure SQL Edge görüntüsüyle Mac'te Docker için konak birimi eşlemesi şu anda desteklenmiyor. Bunun yerine veri birimi kapsayıcılarını kullanın. Bu kısıtlama dizine /var/opt/mssql özeldir. Bağlı bir dizinden okuma iyi çalışır. Örneğin, Mac'te -v kullanarak bir konak dizini bağlar ve konakta bulunan bir .bak dosyasından yedeklemeyi geri yükleyebilirsiniz.
Veri hacmi kapsayıcılarını kullanma
İkinci seçenek bir veri birimi kapsayıcısı kullanmaktır. parametresine sahip bir konak dizini yerine birim adı belirterek veri birimi kapsayıcısı -v oluşturabilirsiniz. Aşağıdaki örnek sqlvolume adlı paylaşılan bir veri birimi oluşturur.
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
Not
Run komutunda bir veri birimini örtülü olarak oluşturmak için kullanılan bu teknik Docker'ın eski sürümleriyle birlikte çalışmaz. Bu durumda, Docker belgelerinde özetlenen açık adımları kullanın: Veri birimi kapsayıcısı oluşturma ve bağlama.
Bu kapsayıcıyı durdursanız ve kaldırsanız bile veri birimi devam eder. Komutuyla docker volume ls görüntüebilirsiniz.
docker volume ls
Daha sonra aynı birim adına sahip başka bir kapsayıcı sanız, yeni kapsayıcı birim içinde yer alan SQL Azure SQL Edge verilerini kullanır.
Bir veri birimi kapsayıcısı kaldırmak için komutunu docker volume rm kullanın.
Uyarı
Veri hacmi kapsayıcısı silinirse, kapsayıcıda SQL Edge verileri kalıcı olarak silinir.