Docker ile Azure SQL Edge'i dağıtma
Bu hızlı başlangıçta Docker kullanarak Azure SQL Edge kapsayıcı görüntüsünü çekecek ve çalıştırabilirsiniz. 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 SQL Azure SQL Edge'den oluşur. Linux üzerinde Docker Engine 1.8+ veya Mac için Docker/Windows.
Önkoşullar
- Desteklenen herhangi bir Linux dağıtımında Docker Engine 1.8+ veya Mac için Docker/Windows. Daha fazla bilgi için bkz. Docker'ı yükleme. Azure SQL Edge görüntüleri Ubuntu 18.04'ü temel alan bir ubuntu 18.04 docker ana bilgisayarı kullanılması önerilir.
- Docker katman2 depolama sürücüsü. Bu, kullanıcıların çoğu için varsayılan değerdir. Bu depolama sağlayıcısını kullanmamanızı ve değiştirmeniz gerekirse, katman2'nin yapılandırılması için docker belgelerinde yer alan 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.
Kapsayıcı görüntüsünü çekme ve çalıştırma
Aşağıdaki adımları başlatmadan önce, bu makalenin üst kısmında tercih ettiğiniz kabuğu (bash, PowerShell veya cmd) seçtiğinizden emin olun.
Azure SQL Edge kapsayıcı görüntüsünü Microsoft Container Registry.
- Azure SQL Edge kapsayıcı görüntüsünü çekme
sudo docker pull mcr.microsoft.com/azure-sql-edge:latest
- Azure SQL Edge kapsayıcı görüntüsünü çekme
Not
Bu makaledeki bash komutları sudo için kullanılır. macOS ve sudo Windows, gerekli olabilir. Linux'ta Docker'ı çalıştırmak için kullanmak istemiyorsanız bir Docker grubu sudo yapılandırarak kullanıcıları bu gruba ebilirsiniz. Daha fazla bilgi için bkz. Linux için yükleme sonrası adımlar.
Önceki komut, En son Azure SQL Edge kapsayıcı görüntülerini çeker. Kullanılabilir tüm görüntüleri görmek için azure-sql-egde Docker hub sayfasına bakın.
Kapsayıcı görüntüsünü Docker ile çalıştırmak için bir bash kabuğundan (Linux/macOS) veya yükseltilmiş PowerShell komut isteminden aşağıdaki komutu kullanabilirsiniz.
Developer sürümü SQL çalışan bir Azure SQL Edge örneği başlatma
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edgePremium sürümü olarak çalışan bir Azure SQL Edge örneği başlatma
sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=yourStrong(!)Password' -e 'MSSQL_PID=Premium' -p 1433:1433 --name azuresqledge -d mcr.microsoft.com/azure-sql-edge
Not
PowerShell'i Windows çalıştırmak için tek tırnak yerine çift tırnak kullanın.
Not
Parola, Microsoft SQL Veritabanı Altyapısı varsayılan parola ilkesine uymalı, aksi takdirde kapsayıcı SQL altyapısını kuramayacak ve çalışmayı durduracak. Varsayılan olarak, parola en az 8 karakter uzunluğunda olmalı ve şu dört kümeden üçünden karakterler içermelidir: Büyük harfler, Küçük harfler, Temel 10 basamaklar ve Semboller. Docker logs komutunu yürüterek hata günlüğünü inceleyebilirsiniz.
Aşağıdaki tabloda, önceki örnekte yer alan parametrelerin açıklaması
docker runve açıklama yer almaktadır:Parametre Açıklama -e "ACCEPT_EULA=Y" Son ACCEPT_EULA Sözleşme'nin kabulünü onaylamak için ACCEPT_EULA değişkenini herhangi bir değere ayarlayın. Azure SQL Edge görüntüsü için gerekli ayar. -e "MSSQL_SA_PASSWORD=yourStrong(!) Parola" En az 8 karakter uzunluğunda olan ve Azure SQL Edge parola gereksinimlerini SQL kendi güçlü parolanızı belirtin. Azure 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ıda bir TCP bağlantı noktasıyla (ikinci değer) eşler. Bu örnekte Azure SQL Edge, kapsayıcıda TCP 1433 üzerinde dinliyor ve bu durum konakta 1433 bağlantı noktasına açık. --name azuresqledge Rastgele oluşturulan bir ad yerine kapsayıcı için özel bir ad belirtin. Birden fazla kapsayıcı çalıştırdıysanız, aynı adı yeniden kullanılamaz. -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. Microsoft Edge Kapsayıcıları için Azure'ı yapılandırmak için mssql.conf SQL da kullanabilirsiniz.
Docker kapsayıcılarınızı görüntülemek için komutunu
docker pskullanın.sudo docker ps -aSTATUS sütununda Up ( ) durumu varsa Azure SQL Edge kapsayıcıda çalışıyor ve PORTS sütununda belirtilen bağlantı noktasını dinliyor. Azure SQL Edge kapsayıcınız için STATUS sütunu Çıkış yaptı olarak gösteriyorsa, Azure SQL Edge Belgeleri'nin Sorun Giderme bölümüne bakın.
-h(ana bilgisayar adı) parametresi de yararlıdır, ancak kolaylık sağlamak için bu öğreticide kullanılmaz. Bu, kapsayıcının iç adını özel bir değer olarak değiştirir. Bu, aşağıdaki Transact-SQL sorgusunda döndürülen addır:SELECT @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), SERVERPROPERTY('MachineName'), SERVERPROPERTY('ServerName')ve
-hdeğerini--nameaynı değere ayarlama, hedef kapsayıcıyı kolayca tanımlamak için iyi bir yol sağlar.Son adım olarak, çıktıda görünür olduğundan ve aynı adla ortam değişkeninde depolandığı için SA
SA_PASSWORDps -eaxparolanızı değiştirebilirsiniz. Aşağıdaki adımlara bakın.
SA parolasını değiştirme
SA hesabı, Kurulum sırasında oluşturulan Azure SQL Edge örneğinde sistem yöneticisidir. Azure SQL Edge kapsayıcınızı oluşturduk sonra, belirttiğiniz ortam değişkeni MSSQL_SA_PASSWORD kapsayıcıda çalıştırarak echo $SA_PASSWORD keşfedilebilir. Güvenlik amacıyla SA parolanızı değiştirebilirsiniz.
SA kullanıcısı için kullanmak üzere güçlü bir parola seçin.
docker execTransact-SQL kullanarak parolayı değiştirmek için sqlcmd'SQL. Aşağıdaki örnekte, eski parola olan ve yeni parola<YourStrong!Passw0rd>olan yerine kendi parola<YourNewStrong!Passw0rd>değerlerinizi yazın.sudo docker exec -it azuresqledge /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P "<YourStrong@Passw0rd>" \ -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong@Passw0rd>"'
Bağlan Edge'e SQL edinin
Aşağıdaki adımlarda Azure SQL Edge'e bağlanmak için kapsayıcının içinde sqlcmd olan Azure SQL kullanılır.
Not
sqlcmd aracı, SQL Edge kapsayıcılarının ARM64 sürümünde kullanılamaz.
Komutunu kullanarak
docker exec -itçalışan kapsayıcının içinde etkileşimli bir Bash kabuğu başlatabilirsiniz. Aşağıdaki örnekte,azuresqledgekapsayıcıyı oluşturulduğunda--nameparametresi tarafından belirtilen addır.sudo docker exec -it azuresqledge "bash"Kapsayıcıya girdiktan sonra sqlcmd ile yerel olarak bağlanın. Sqlcmd varsayılan olarak yolda değildir, bu nedenle tam yolu belirtmeniz gerekir.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"İpucu
Parolayı girmeniz istendiğinde komut satırına atabilirsiniz.
Başarılı olursa bir sqlcmd komut istemine girmeniz gerekir:
1>.
Veri oluşturma ve sorgulama
Aşağıdaki bölümlerde sqlcmd ve Transact-SQL kullanarak yeni veritabanı oluşturma, veri ekleme ve basit bir sorgu çalıştırma adımları açıklanmaktadır.
Yeni veritabanı oluşturma
Aşağıdaki adımlar adlı yeni bir veritabanı TestDB oluşturur.
Sqlcmd komut isteminden aşağıdaki Transact-SQL komutunu yapıştırarak bir test veritabanı oluşturun:
CREATE DATABASE TestDB GoSonraki satırda, sunucunuzda yer alan tüm veritabanlarının adını iade etmek için bir sorgu yazın:
SELECT Name from sys.Databases Go
Veri ekleme
Ardından , yeni bir tablo oluşturun Inventory ve iki yeni satır ekleyin.
sqlcmd komut isteminden bağlamı yeni veritabanına
TestDBgeçiş:USE TestDBadlı yeni bir tablo
Inventoryoluş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
GOkomutları yürütmek için yazın:GO
Verileri seçme
Şimdi tablodan veri dönmek için bir sorgu Inventory çalıştırın.
sqlcmd komut isteminden, miktarın 152'den büyük olduğu tablodan satır
Inventorydöndüren bir sorgu girin:SELECT * FROM Inventory WHERE quantity > 152;Şu komutu yürütün:
GO
sqlcmd komut isteminden çıkın
sqlcmd oturumlarınızı sona erdirecek şekilde
QUITyazın:QUITKapsayıcınıza etkileşimli komut isteminden çıkmak için
exityazın. Etkileşimli Bash kabuğundan çıktıktan sonra kapsayıcınız çalıştırmaya devam eder.
Bağlan dışından gelen
Ayrıca Docker makineniz üzerinde Azure SQL Edge örneğine, doğrudan bağlantıları destekleyen herhangi bir dış Linux, Windows veya macOS SQL bağlanabilirsiniz. SQL Edge kapsayıcıya dışarıdan bağlanma hakkında daha fazla bilgi için bkz. Bağlan Ve Azure SQL Edge'i sorgulama.
Kapsayıcınızı kaldırma
Bu öğreticide kullanılan Azure SQL Edge kapsayıcısı kaldırmak için aşağıdaki komutları çalıştırın:
sudo docker stop azuresqledge
sudo docker rm azuresqledge
Uyarı
Kapsayıcıyı durdurmak ve kaldırmak, kapsayıcının tüm Azure SQL Edge verilerini kalıcı olarak siler. Verilerinizi korumanız gerekirse, kapsayıcıdan bir yedekleme dosyası oluşturun ve kopyalayın veya bir kapsayıcı veri kalıcılığı tekniği kullanın.
Sonraki Adımlar
- Machine Learning Edge'de ONNX ile SQL ve Yapay Zeka.
- IoT Edge kullanarak SQL Edge ile 1.00.000 IoT çözümü IoT Edge.
- Azure SQL Edge'de Veri Akışı