Docker ile Azure SQL Edge'i dağıtma
Önemli
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ılan değerdir. Bu depolama sağlayıcısını kullanmadığınıza ve değiştirmeniz gerektiğini fark ederseniz Docker belgelerinde yer paylaşımını yapılandırma yönergelerine ve uyarılarına bakın2.
- 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 kullanıcıları bu gruba 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:
Developer 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=yourStrong(!)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=yourStrong(!)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ı 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 ettiğinizi 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=yourStrong(!) Parola" En az sekiz karakter uzunluğunda ve Azure SQL Edge 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ında kullanıma sunuldu. --name azuresqledge Kapsayıcı için rastgele oluşturulan bir ad yerine ö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 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 Yukarı 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 Çıktı olarak görünüyorsa Azure SQL Edge belgelerinin Sorun Giderme bölümüne bakın.
-h
(konak 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ğerle değiştirir. Bu, aşağıdaki Transact-SQL sorgusunda döndürülen addır:SELECT @@SERVERNAME, SERVERPROPERTY('ComputerNamePhysicalNetBIOS'), SERVERPROPERTY('MachineName'), SERVERPROPERTY('ServerName');
--name
ve değerini aynı değere ayarlamak-h
, hedef kapsayıcıyı kolayca tanımlamanın iyi bir yoludur.Son adım olarak, SA parolanızı değiştirin çünkü
MSSQL_SA_PASSWORD
çıktıdaps -eax
görünür ve aynı ada sahip ortam değişkeninde depolanır. 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 belirttiğiniz MSSQL_SA_PASSWORD
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 kullanılacak 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 yeni parolayı<YourStrong!Passw0rd>
<YourNewStrong!Passw0rd>
kendi parola değerlerinizle değiştirin.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>"'
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ı oluştururken parametresi tarafından--name
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 "<YourNewStrong@Passw0rd>"
İpucu
Komut satırında parolayı girmeniz istenecek şekilde 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 yeni veritabanı oluşturmak, veri eklemek ve sorgu çalıştırmak için sqlcmd ve Transact-SQL kullanma 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 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 şunu 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ür:
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. Connect and Query Azure SQL Edge.
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 bir kapsayıcı veri kalıcılığı tekniği kullanın.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin