Menyambungkan ke Synapse SQL dengan sqlcmd
Anda dapat menggunakan utilitas baris perintah sqlcmd untuk menyambungkan dan mengkueri kumpulan SQL tanpa server dan kumpulan SQL khusus dalam Synapse SQL.
1. Koneksi
Untuk memulai dengan sqlcmd, buka perintah dan masukkan sqlcmd diikuti dengan string koneksi untuk database Synapse SQL Anda. String koneksi memerlukan parameter berikut:
- Server (-S): Server dalam formulir
<
Server Name-ondemand.sql.azuresynapse.net>
(Kumpulan SQL Tanpa Server) atau<
Server Name.sql.azuresynapse.net>
(Kumpulan SQL Khusus) - Database (-d): Nama database
- Aktifkan Pengidentifikasi Pemisah (-I): Pengidentifikasi pemisah harus diaktifkan untuk tersambung ke instans Synapse SQL
Untuk menggunakan Autentikasi SQL Server, Anda perlu menambahkan parameter nama pengguna dan kata sandi:
- Pengguna (-U): Pengguna server dalam formulir
<
Pengguna>
- Kata sandi (-P): Kata sandi yang terkait dengan pengguna
String koneksi Anda mungkin terlihat seperti contoh berikut:
Kumpulan SQL tanpa server
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
Kumpulan SQL khusus
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
Untuk menggunakan autentikasi terintegrasi Microsoft Entra, Anda perlu menambahkan parameter Microsoft Entra:
- Autentikasi Microsoft Entra (-G): gunakan ID Microsoft Entra untuk autentikasi
String koneksi Anda mungkin terlihat seperti pada contoh berikut:
Kumpulan SQL tanpa server
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
Kumpulan SQL khusus
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
Catatan
Anda perlu mengaktifkan autentikasi Microsoft Entra untuk mengautentikasi menggunakan Direktori Aktif.
2. Kueri
Gunakan kumpulan SQL khusus
Setelah koneksi, Anda dapat mengeluarkan pernyataan Transact-SQL (T-SQL) yang didukung terhadap instans. Dalam contoh ini, kueri dikirimkan dalam mode interaktif:
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
1> SELECT name FROM sys.tables;
2> GO
3> QUIT
Untuk kumpulan SQL khusus, contoh berikut menunjukkan cara menjalankan kueri dalam mode batch menggunakan opsi -Q atau menyalurkan SQL Anda ke sqlcmd:
sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I -Q "SELECT name FROM sys.tables;"
"SELECT name FROM sys.tables;" | sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I > .\tables.out
Menggunakan kumpulan SQL nirserver
Setelah tersambung, Anda dapat mengeluarkan pernyataan Transact-SQL (T-SQL) yang didukung terhadap instans. Dalam contoh berikut, kueri dikirimkan dalam mode interaktif:
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
1> SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')
2> GO
3> QUIT
Untuk kumpulan SQL tanpa server, contoh yang disertakan menunjukkan cara menjalankan kueri dalam mode batch menggunakan opsi -Q atau menyalurkan SQL Anda untuk sqlcmd:
sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I -Q "SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')"
"SELECT COUNT(*) FROM OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')" | sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I > ./tables.out
Langkah berikutnya
Untuk mengetahui informasi selengkapnya tentang opsi sqlcmd, lihat dokumentasi sqlcmd.