Azure SQL Edge'i Bağlan ve sorgulama

Önemli

Azure SQL Edge artık ARM64 platformunu desteklememektedir.

Azure SQL Edge'de bir kapsayıcı dağıttığınızda aşağıdaki konumlardan herhangi birinden Veritabanı Altyapısı'na bağlanabilirsiniz:

  • Kapsayıcının içinde
  • Aynı konakta çalışan başka bir Docker kapsayıcısından
  • Ana makineden
  • Ağdaki diğer tüm istemci makinelerinden

Azure SQL Edge'e bağlanma araçları

Aşağıdaki yaygın araçlardan herhangi birinden Azure SQL Edge örneğine bağlanabilirsiniz:

Bir ağ makinesinden Azure SQL Edge Veritabanı Altyapısı'na bağlanmak için aşağıdakilere ihtiyacınız vardır:

  • Ana makinenin IP Adresi veya ağ adı: Bu, Azure SQL Edge kapsayıcısının çalıştığı konak makinedir.

  • Azure SQL Edge kapsayıcısı ana bilgisayar bağlantı noktası eşlemesi: Bu, Docker kapsayıcısı bağlantı noktasının konak üzerindeki bir bağlantı noktasına eşlemdir. Kapsayıcının içinde Azure SQL Edge her zaman 1433 numaralı bağlantı noktasına eşlenir. İsterseniz bunu değiştirebilirsiniz. Bağlantı noktası numarasını değiştirmek için Azure IoT Edge'de Azure SQL Edge modülü için Kapsayıcı Oluşturma Seçenekleri'ni güncelleştirin. Aşağıdaki örnekte, kapsayıcıdaki 1433 numaralı bağlantı noktası konaktaki 1600 numaralı bağlantı noktasına eşlenir.

    {
        "PortBindings": {
          "1433/tcp": [
            {
              "HostPort": "1600"
            }
          ]
        }
    }
    
  • Azure SQL Edge örneği için SA parolası: Bu, Azure SQL Edge dağıtımı sırasında ortam değişkeni için SA_PASSWORD belirtilen değerdir.

Kapsayıcının içinden Veritabanı Altyapısı'na Bağlan

SQL Server komut satırı araçları, Azure SQL Edge'in kapsayıcı görüntüsüne eklenir. Kapsayıcıya etkileşimli bir komut istemiyle eklerseniz, araçları yerel olarak çalıştırabilirsiniz. SQL istemci araçları ARM64 platformunda kullanılamaz.

  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 kapsayıcı e69e056c702d kimliği verilmiştir.

    docker exec -it e69e056c702d /bin/bash
    

    Bahşiş

    Kapsayıcı kimliğinin tamamını her zaman belirtmeniz gerekmez. Yalnızca benzersiz olarak tanımlamak için yeterli karakter belirtmeniz gerekir. Bu nedenle, bu örnekte tam kimlik yerine veya e69kullanmak e6 yeterli olabilir.

  2. Kapsayıcının içindeyken 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 '<YourPassword>'
    
  3. sqlcmd ile işiniz bittiğinde yazınexit.

  4. Etkileşimli komut istemiyle işiniz bittiğinde yazın exit. Etkileşimli bash kabuğundan çıktıktan sonra kapsayıcınız çalışmaya devam eder.

Aynı konak üzerindeki başka bir kapsayıcıdan Azure SQL Edge'e Bağlan

Aynı konakta çalışan iki kapsayıcı aynı Docker ağında olduğundan, kapsayıcı adını ve hizmetin bağlantı noktası adresini kullanarak bunlara kolayca erişebilirsiniz. Örneğin, aynı konak üzerindeki başka bir Python modülünden (kapsayıcı) Azure SQL Edge örneğine bağlanıyorsanız, aşağıdakine benzer bir bağlantı dizesi kullanabilirsiniz. (Bu örnekte, Azure SQL Edge'in varsayılan bağlantı noktasında dinleyecek şekilde yapılandırıldığı varsayılır.)

import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Başka bir ağ makinesinden Azure SQL Edge'e Bağlan

Ağdaki başka bir makineden Azure SQL Edge örneğine bağlanmak isteyebilirsiniz. Bunu yapmak için Docker konağı ve Azure SQL Edge kapsayıcısının eşlendiği konak bağlantı noktasının IP adresini kullanın. Örneğin, Docker konağın IP adresi ise 192.168.2.121ve Azure SQL Edge kapsayıcısı 1600 numaralı konak bağlantı noktasına eşlenmişse, Azure SQL Edge örneğinin sunucu adresi olacaktır192.168.2.121,1600. Güncelleştirilmiş Python betiği:

import pyodbc
server = '192.168.2.121,1600' # Replace this with the actual name or IP address of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = 'MyStrongestP@ssword' # Replace this with the actual SA password from your deployment
database = 'MyEdgeDatabase' # Replace this with the actual database name from your deployment. If you do not have a database created, you can use Master database.
db_connection_string = "Driver={ODBC Driver 17 for SQL Server};Server=" + server + ";Database=" + database + ";UID=" + username + ";PWD=" + password + ";"
conn = pyodbc.connect(db_connection_string, autocommit=True)

Windows makinesinde çalışan SQL Server Management Studio'yu kullanarak Azure SQL Edge örneğine bağlanmak için bkz . SQL Server Management Studio.

Windows, macOS veya Linux makinesinde Visual Studio Code kullanarak Azure SQL Edge örneğine bağlanmak için bkz . Visual Studio Code.

Windows, macOS veya Linux makinesinde Azure Data Studio kullanarak Azure SQL Edge örneğine bağlanmak için bkz . Azure Data Studio.

Sonraki adımlar