Aracılığıyla paylaş


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

  1. 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.

  2. 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.

  3. Docker kapsayıcılarınızı görüntülemek için komutunu kullanın docker ps .

    sudo docker ps -a
    
  4. 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.

  5. Son adım olarak, çıktıda göründüğü ve aynı ada sahip ortam değişkeninde ps -eax depolandığı için MSSQL_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.

  1. SA kullanıcısı için kullanmak üzere güçlü bir parola seçin.

  2. Transact-SQL kullanarak parolayı değiştirmek için sqlcmd'yi çalıştırmak için kullanındocker 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.

  1. 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"
    
  2. 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.

  3. 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ı TestDByeni bir veritabanı oluşturur.

  1. sqlcmd komut isteminden aşağıdaki Transact-SQL komutunu yapıştırarak bir test veritabanı oluşturun:

    CREATE DATABASE TestDB;
    GO
    
  2. 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 Inventoryoluşturun ve iki yeni satır ekleyin.

  1. sqlcmd komut isteminden bağlamı yeni TestDB veritabanına geçin:

    USE TestDB;
    
  2. adlı Inventoryyeni bir tablo oluşturun:

    CREATE TABLE Inventory (
        id INT,
        name NVARCHAR(50),
        quantity INT
    );
    
  3. Yeni tabloya veri ekleme:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Ö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.

  1. 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;
    
  2. Komutunu yürüt:

    GO
    

sqlcmd komut isteminden çıkma

  1. sqlcmd oturumunuzu sonlandırmak için yazın QUIT:

    QUIT
    
  2. 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.