Menyambungkan dan mengkueri Azure SQL Edge
Penting
Azure SQL Edge akan dihentikan pada 30 September 2025. Untuk informasi selengkapnya dan opsi migrasi, lihat Pemberitahuan penghentian.
Catatan
Azure SQL Edge tidak lagi mendukung platform ARM64.
Di Azure SQL Edge, setelah menyebarkan kontainer, Anda bisa menyambungkan ke Mesin Database dari salah satu lokasi berikut:
- Di dalam kontainer
- Dari kontainer Docker lain yang berjalan pada host yang sama
- Dari komputer host
- Dari mesin klien lain di jaringan
Alat untuk menyambungkan ke Azure SQL Edge
Anda dapat menyambungkan ke instans Azure SQL Edge dari salah satu alat umum berikut:
- sqlcmd: alat klien sqlcmd sudah disertakan dalam gambar kontainer Azure SQL Edge. Jika Anda melampirkan ke kontainer yang sedang berjalan dengan shell bash interaktif, Anda dapat menjalankan alat secara lokal. Alat klien SQL tidak tersedia di platform ARM64.
- SQL Server Management Studio
- Azure Data Studio
- Visual Studio Code
Untuk menyambungkan ke Mesin Database Azure SQL Edge dari komputer jaringan, Anda memerlukan hal berikut:
Alamat IP atau nama jaringan mesin host: Ini adalah mesin host tempat kontainer Azure SQL Edge berjalan.
Pemetaan port host kontainer Azure SQL Edge: Ini adalah pemetaan untuk port kontainer Docker ke port pada host. Dalam kontainer, Azure SQL Edge selalu dipetakan ke port 1433. Anda dapat mengubah ini jika Anda ingin. Untuk mengubah nomor port, perbarui Opsi Buat Kontainer untuk modul Azure SQL Edge di Azure IoT Edge. Dalam contoh berikut, port 1433 pada kontainer dipetakan ke port 1600 pada host.
{ "PortBindings": { "1433/tcp": [ { "HostPort": "1600" } ] } }
Kata sandi SA untuk instans Azure SQL Edge: Ini adalah nilai yang ditentukan untuk variabel lingkungan
MSSQL_SA_PASSWORD
selama penyebaran Azure SQL Edge.
Menyambungkan ke Mesin Database dari dalam kontainer
Alat baris perintah SQL Server disertakan dalam gambar kontainer Azure SQL Edge. Jika Anda melampirkan ke kontainer dengan perintah interaktif, Anda dapat menjalankan alat secara lokal. Alat klien SQL tidak tersedia di platform ARM64.
Menggunakan
docker exec -it
perintah untuk memulai shell bash interaktif di dalam kontainer Anda yang sedang berjalan. Dalam contoh berikut,e69e056c702d
adalah ID kontainer.docker exec -it e69e056c702d /bin/bash
Tip
Anda tidak selalu harus menentukan seluruh ID kontainer. Anda hanya perlu menentukan karakter yang cukup untuk mengidentifikasinya secara unik. Jadi dalam contoh ini, cukup gunakan
e6
ataue69
, sebagai pengganti dari ID lengkap.Saat Anda berada di dalam kontainer, sambungkan secara lokal dengan sqlcmd. sqlcmd tidak berada di jalur secara default, jadi Anda harus menentukan jalur lengkap.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourPassword>'
Setelah selesai dengan sqlcmd, ketik
exit
.Saat Anda sudah selesai dengan perintah interaktif, ketikkan
exit
. Kontainer Anda terus berjalan setelah Anda keluar dari shell bash interaktif.
Menyambungkan ke Azure SQL Edge dari kontainer lain pada host yang sama
Karena dua kontainer yang berjalan pada host yang sama berada di jaringan Docker yang sama, Anda dapat dengan mudah mengaksesnya dengan menggunakan nama kontainer dan alamat port untuk layanan. Misalnya, jika Anda menyambungkan ke instans Azure SQL Edge dari modul Python (kontainer) lain pada host yang sama, Anda dapat menggunakan string koneksi yang mirip dengan yang berikut ini. (Contoh ini mengasumsikan bahwa Azure SQL Edge dikonfigurasi untuk mendengarkan pada port default.)
import pyodbc
server = 'MySQLEdgeContainer' # Replace this with the actual name of your SQL Edge Docker container
username = 'sa' # SQL Server username
password = '<password>' # 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)
Menyambungkan ke Azure SQL Edge dari mesin jaringan lain
Anda mungkin ingin menyambungkan ke instans Azure SQL Edge dari mesin lain di jaringan. Untuk melakukannya, gunakan alamat IP host Docker dan port host tempat kontainer Azure SQL Edge dipetakan. Misalnya, jika alamat IP host Docker adalah 192.168.2.121
, dan kontainer Azure SQL Edge dipetakan ke port host 1600, maka alamat server untuk instans Azure SQL Edge adalah 192.168.2.121,1600
. Skrip Python yang diperbarui adalah:
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 = '<password>' # 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)
Untuk menyambungkan ke instans Azure SQL Edge dengan menggunakan SQL Server Management Studio yang berjalan di mesin Windows, lihat SQL Server Management Studio.
Untuk menyambungkan ke instans Azure SQL Edge dengan menggunakan Visual Studio Code pada komputer Windows, macOS, atau Linux, lihat Visual Studio Code.
Untuk menyambungkan ke instans Azure SQL Edge dengan menggunakan Azure Data Studio di komputer Windows, macOS, atau Linux, lihat Azure Data Studio.