Docker ile Azure SQL Edge'i dağıtma
Önemli
Azure SQL Edge 30 Eylül 2025'te kullanımdan kaldırılacaktır. Daha fazla bilgi ve geçiş seçenekleri için Bkz . Kullanımdan kaldırma bildirimi.
Not
Azure SQL Edge artık ARM64 platformunu desteklememektedir.
Bu hızlı başlangıçta Azure SQL Edge kapsayıcı görüntüsünü çekmek ve çalıştırmak için Docker'ı kullanacaksınız. Ardından sqlcmd ile bağlanarak ilk veritabanınızı oluşturun ve sorguları çalıştırın.
Bu görüntü, Ubuntu 18.04 tabanlı SQL Edge'i içermektedir. Linux üzerinde Docker Engine 1.8+ ile kullanılabilir.
Azure SQL Edge kapsayıcıları, üretim iş yükleri için aşağıdaki platformlarda desteklenmez:
- Windows
- Mac OS
- Windows üzerinde Linux için Azure IoT Edge (EFLOW)
Önkoşullar
- Desteklenen herhangi bir Linux dağıtımında Docker Engine 1.8+ . Daha fazla bilgi için bkz . Docker'ı yükleme. SQL Edge görüntüleri Ubuntu 18.04'ü temel alındığından, Ubuntu 18.04 Docker konağı kullanmanızı öneririz.
- Docker overlay2 depolama sürücüsü. Bu, çoğu kullanıcı için varsayılandır. Bu depolama sağlayıcısını kullanmadığınız ve değiştirmeniz gerektiğini fark ederseniz, Katman2'yi yapılandırmaya yönelik Docker belgelerindeki yönergelere ve uyarılara bakın.
- En az 10 GB disk alanı.
- En az 1 GB RAM.
- Azure SQL Edge için donanım gereksinimleri.
Not
Bu makaledeki sudo
bash komutları için kullanılır. Docker'ı çalıştırmak için kullanmak sudo
istemiyorsanız, bir Docker grubu yapılandırabilir ve bu gruba kullanıcı ekleyebilirsiniz. Daha fazla bilgi için bkz . Linux için yükleme sonrası adımlar.
Kapsayıcı görüntüsünü çekme ve çalıştırma
Microsoft Container Registry'den Azure SQL Edge kapsayıcı görüntüsünü çekin.
sudo docker pull mcr.microsoft.com/azure-sql-edge:latest
Önceki komut en son SQL Edge kapsayıcı görüntüsünü çeker. Kullanılabilir tüm görüntüleri görmek için azure-sql-edge Docker hub sayfasına bakın.
Kapsayıcı görüntüsünü Docker ile çalıştırmak için bash kabuğundan aşağıdaki komutu kullanın:
Geliştirici sürümü olarak çalışan bir Azure SQL Edge örneği başlatın:
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
Premium sürüm olarak çalışan bir Azure SQL Edge örneği başlatın:
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
Önemli
Parola, Microsoft SQL Veritabanı Altyapısı varsayılan parola ilkesine uygun olmalıdır, aksi takdirde kapsayıcı SQL Veritabanı Altyapısını ayarlayamaz ve çalışmayı durdurur. Varsayılan olarak, parola en az 8 karakter uzunluğunda olmalı ve şu dört kümeden üçünün karakterlerini içermelidir: büyük harfler, küçük harfler, 10 tabanındaki basamaklar ve simgeler. Docker logs komutunu yürüterek hata günlüğünü inceleyebilirsiniz.
Aşağıdaki tabloda, önceki
docker run
örneklerde yer alan parametrelerin açıklaması verilmiştir:Parametre Açıklama -e "ACCEPT_EULA=Y" Son Kullanıcı Lisans Sözleşmesi'ni kabulünüzü onaylamak için ACCEPT_EULA değişkenini herhangi bir değere ayarlayın. SQL Edge görüntüsü için gerekli ayar. -e "MSSQL_SA_PASSWORD=<password>" En az sekiz karakter uzunluğunda ve parola gereksinimlerini karşılayan kendi güçlü parolanızı belirtin. SQL Edge görüntüsü için gerekli ayar. -p 1433:1433 Konak ortamındaki bir TCP bağlantı noktasını (ilk değer) kapsayıcıdaki bir TCP bağlantı noktasıyla (ikinci değer) eşleyin. Bu örnekte SQL Edge kapsayıcıdaki TCP 1433'te dinliyor ve bu, konaktaki 1433 numaralı bağlantı noktasına kullanıma sunuldu. --name azuresqledge Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırırsanız, aynı adı yeniden kullanamazsınız. -d Kapsayıcıyı arka planda çalıştırma (daemon) Tüm Azure SQL Edge ortam değişkenlerinin tam listesi için bkz. Azure SQL Edge'i Ortam Değişkenleri ile Yapılandırma. SQL Edge kapsayıcılarını yapılandırmak için bir mssql.conf dosyası da kullanabilirsiniz.
Docker kapsayıcılarınızı görüntülemek için komutunu kullanın
docker ps
.sudo docker ps -a
STATUS sütununda Up durumu gösteriliyorsa SQL Edge kapsayıcıda çalışır ve PORTS sütununda belirtilen bağlantı noktasını dinler. SQL Edge kapsayıcınızın STATUS sütunu Çıkışlı olarak görünüyorsa Azure SQL Edge belgelerinin Sorun Giderme bölümüne bakın.
-h
(ana bilgisayar adı) parametresi de yararlıdır, ancak basitlik için bu öğreticide kullanılmaz. Bu, kapsayıcının iç adını özel bir değere değiştirir. Bu, aşağıdaki Transact-SQL sorgusunda döndürülen addır:SELECT @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), SERVERPROPERTY('MachineName'), SERVERPROPERTY('ServerName');
-h
Ve--name
değerini aynı değere ayarlamak, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.Son adım olarak, çıktıda göründüğü ve aynı ada sahip ortam değişkeninde
ps -eax
depolandığı içinMSSQL_SA_PASSWORD
SA parolanızı değiştirin. Aşağıdaki adımlara bakın.
SA parolasını değiştirme
SA hesabı, Azure SQL Edge örneğinde kurulum sırasında oluşturulan bir sistem yöneticisidir. SQL Edge kapsayıcınızı oluşturduktan sonra, MSSQL_SA_PASSWORD
belirttiğiniz ortam değişkeni kapsayıcıda çalıştırılarak echo $MSSQL_SA_PASSWORD
bulunabilir. Güvenlik amacıyla SA parolanızı değiştirin.
SA kullanıcısı için kullanmak üzere güçlü bir parola seçin.
Transact-SQL kullanarak parolayı değiştirmek için sqlcmd'yi çalıştırmak için kullanın
docker exec
. Aşağıdaki örnekte, eski parolayı ve<old-password>
yeni parolayı<new-password>
kendi parola değerlerinizle değiştirin.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>"'
Azure SQL Edge'e bağlanma
Aşağıdaki adımlarda SQL Edge'e bağlanmak için kapsayıcının içindeki sqlcmd azure SQL Edge komut satırı aracı kullanılır.
docker exec -it
Komutunu kullanarak çalışan kapsayıcınızın içinde etkileşimli bir bash kabuğu başlatın. Aşağıdaki örnekte,azuresqledge
kapsayıcıyı--name
oluştururken parametresi tarafından belirtilen addır.sudo docker exec -it azuresqledge "bash"
Kapsayıcının içine girdikten sonra sqlcmd ile yerel olarak bağlanın. sqlcmd varsayılan olarak yolda olmadığından tam yolu belirtmeniz gerekir.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<password>"
İpucu
Girmeniz istenecek komut satırında parolayı atlayabilirsiniz.
Başarılı olursa, bir sqlcmd komut istemine ulaşmalısınız:
1>
.
Veri oluşturma ve sorgulama
Aşağıdaki bölümlerde sqlcmd ve Transact-SQL kullanarak yeni bir veritabanı oluşturma, veri ekleme ve sorgu çalıştırma adımları gösterilir.
Yeni veritabanı oluşturma
Aşağıdaki adımlar adlı TestDB
yeni bir veritabanı oluşturur.
sqlcmd komut isteminden aşağıdaki Transact-SQL komutunu yapıştırarak bir test veritabanı oluşturun:
CREATE DATABASE TestDB; GO
Sonraki satırda, sunucunuzdaki tüm veritabanlarının adını döndürmek için bir sorgu yazın:
SELECT name from sys.databases; GO
Veri ekleme
Ardından yeni bir tablo Inventory
oluşturun ve iki yeni satır ekleyin.
sqlcmd komut isteminden bağlamı yeni
TestDB
veritabanına geçin:USE TestDB;
adlı
Inventory
yeni bir tablo oluşturun:CREATE TABLE Inventory ( id INT, name NVARCHAR(50), quantity INT );
Yeni tabloya veri ekleme:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Önceki komutları yürütmek için yazın
GO
:GO
Verileri seçme
Şimdi tablodan Inventory
veri döndürmek için bir sorgu çalıştırın.
sqlcmd komut isteminden, tablodan miktarın 152'den
Inventory
büyük olduğu satırları döndüren bir sorgu girin:SELECT * FROM Inventory WHERE quantity > 152;
Komutunu yürüt:
GO
sqlcmd komut isteminden çıkma
sqlcmd oturumunuzu sonlandırmak için yazın
QUIT
:QUIT
Kapsayıcınızdaki etkileşimli komut isteminden çıkmak için yazın
exit
. Etkileşimli bash kabuğundan çıktıktan sonra kapsayıcınız çalışmaya devam eder.
Kapsayıcının dışından bağlanma
Docker makinenizdeki SQL Edge örneğine SQL bağlantılarını destekleyen herhangi bir dış Linux, Windows veya macOS aracından da bağlanabilirsiniz. Dışarıdan bir SQL Edge kapsayıcısına bağlanma hakkında daha fazla bilgi için bkz . Azure SQL Edge'e Bağlanma ve Sorgulama.
Kapsayıcınızı kaldırma
Bu öğreticide kullanılan SQL Edge kapsayıcısını kaldırmak istiyorsanız aşağıdaki komutları çalıştırın:
sudo docker stop azuresqledge
sudo docker rm azuresqledge
Uyarı
Kapsayıcının durdurulması ve kaldırılması, kapsayıcıdaki tüm SQL Edge verilerini kalıcı olarak siler. Verilerinizi korumanız gerekiyorsa, kapsayıcıdan bir yedekleme dosyası oluşturup kopyalayın veya kapsayıcı veri kalıcılığı tekniğini kullanın.
İlgili içerik
- SQL Edge'de ONNX ile Makine Öğrenmesi ve Yapay Zeka.
- IoT Edge kullanarak SQL Edge ile uçtan uca IoT Çözümü oluşturma.
- Azure SQL Edge'de Veri Akışı