Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL database di Microsoft Fabric
Utilitas sqlcmd memungkinkan Anda memasukkan pernyataan Transact-SQL, prosedur sistem, dan file skrip melalui berbagai mode:
- Pada prompt perintah.
- Di Editor Kueri, mode SQLCMD aktif.
- Dalam file skrip Windows.
- Dalam langkah pekerjaan sistem operasi (
cmd.exe
) pada pekerjaan SQL Server Agent.
Catatan
Meskipun MICROSOFT Entra ID adalah nama baru untuk Azure Active Directory (Azure AD), untuk mencegah mengganggu lingkungan yang ada, Azure AD masih tetap berada di beberapa elemen yang dikodekan secara permanen seperti bidang UI, penyedia koneksi, kode kesalahan, dan cmdlet. Dalam artikel ini, dua nama tersebut dapat dipertukarkan.
varian sqlcmd
Ada dua varian sqlcmd:
sqlcmd (Go):
go-mssqldb
sqlcmd berbasis, kadang-kadang disebut sebagai go-sqlcmd. Versi ini adalah alat mandiri yang dapat Anda unduh secara independen dari SQL Server. Ini berjalan pada Windows, macOS, Linux, dan dalam kontainer.sqlcmd (ODBC): Sqlcmd berbasis ODBC yang selaras dengan platform, tersedia dengan SQL Server atau Utilitas Baris Perintah Microsoft, dan bagian
mssql-tools
dari paket di Linux. Ini juga berjalan di Windows, macOS, Linux, dan dalam kontainer.
Untuk mengetahui varian dan versi sqlcmd mana yang diinstal pada sistem Anda, lihat Memeriksa versi utilitas sqlcmd yang diinstal.
Untuk informasi tentang cara mendapatkan sqlcmd, lihat Mengunduh dan menginstal utilitas sqlcmd.
Dukungan TDS 8.0
Pratinjau SQL Server 2025 (17.x) memperkenalkan dukungan TDS 8.0 untuk utilitas sqlcmd .
Sintaks
Usage:
sqlcmd [flags]
sqlcmd [command]
Examples:
# Install/Create, Query, Uninstall SQL Server
sqlcmd create mssql --accept-eula --using https://aka.ms/AdventureWorksLT.bak
sqlcmd open ads
sqlcmd query "SELECT @@version"
sqlcmd delete
# View configuration information and connection strings
sqlcmd config view
sqlcmd config cs
Available Commands:
completion Generate the autocompletion script for the specified shell
config Modify sqlconfig files using subcommands like "sqlcmd config use-context mssql"
create Install/Create SQL Server, Azure SQL, and Tools
delete Uninstall/Delete the current context
help Help about any command
open Open tools (e.g ADS) for current context
query Run a query against the current context
start Start current context
stop Stop current context
Flags:
-?, --? help for backwards compatibility flags (-S, -U, -E etc.)
-h, --help help for sqlcmd
--sqlconfig string configuration file (default "/Users/<currentUser>/.sqlcmd/sqlconfig")
--verbosity int log level, error=0, warn=1, info=2, debug=3, trace=4 (default 2)
--version print version of sqlcmd
Use "sqlcmd [command] --help" for more information about a command.
Untuk informasi lebih mendalam tentang sintaks dan penggunaan sqlcmd , lihat sintaks sqlcmd ODBC.
Melanggar perubahan dari sqlcmd (ODBC)
Beberapa sakelar dan perilaku diubah pada utilitas sqlcmd (Go). Untuk daftar terbaru bendera yang belum ada untuk kompatibilitas ke belakang, kunjungi diskusi Prioritaskan implementasi bendera kompatibilitas ke belakang di GitHub.
Dalam versi sqlcmd (Go) sebelumnya,
-P
pengalih sementara dihapus, dan kata sandi untuk Autentikasi SQL Server hanya dapat disediakan melalui mekanisme-mekanisme berikut:- Variabel
SQLCMDPASSWORD
lingkungan - Perintah
:CONNECT
- Ketika diminta, pengguna dapat mengetik kata sandi untuk menyelesaikan koneksi
- Variabel
-r
memerlukan argumen0
atau1
-R
sakelar dihapus.-I
sakelar dihapus. Untuk menonaktifkan perilaku pengidentifikasi yang dikutip, tambahkanSET QUOTED IDENTIFIER OFF
ke dalam skrip Anda.-N
mengambil nilai string yang bisa menjadi salah satu daritrue
,false
, ataudisable
untuk menentukan pilihan enkripsi. (default
sama dengan menghilangkan parameter)- Jika
-N
dan-C
tidak disediakan, sqlcmd menegosiasikan autentikasi dengan server tanpa memvalidasi sertifikat server. - Jika
-N
disediakan tetapi-C
tidak, sqlcmd memerlukan validasi sertifikat server.false
Nilai untuk enkripsi mungkin masih menyebabkan enkripsi paket login. - Jika keduanya
-N
dan-C
disediakan, sqlcmd menggunakan nilainya untuk negosiasi enkripsi. - Informasi selengkapnya tentang negosiasi enkripsi klien/server dapat ditemukan di MS-TDS PRELOGIN.
Penting
Dalam Pratinjau SQL Server 2025 (17.x),
-N
bisao
(untukoptional
),m
(untukmandatory
, default), ataus
(untukstrict
). Jika Anda tidak menyertakan-N
,-Nm
(untukmandatory
) adalah default. Ini adalah perubahan besar dari SQL Server 2022 (16.x) dan versi-versi sebelumnya.- Jika
-u
File output Unicode yang dihasilkan memiliki tanda urutan Byte (BOM) Little-Endian UTF-16 yang ditulis ke dalamnya.Beberapa perilaku yang disimpan untuk mempertahankan kompatibilitas dengan
OSQL
mungkin telah berubah, seperti perataan header kolom untuk beberapa jenis data.Semua perintah harus pas pada satu baris, bahkan
EXIT
. Mode interaktif tidak memeriksa tanda kurung terbuka atau tanda kutip untuk perintah, dan tidak meminta baris berturut-turut. Perilaku ini berbeda dengan versi ODBC, yang memungkinkan kueri dijalankan olehEXIT(query)
untuk menjangkau beberapa baris.
Koneksi dari utilitas sqlcmd (Go) terbatas pada koneksi TCP. Pipa yang diberi nama saat ini tidak didukung di driver go-mssqldb
.
Peningkatan
:Connect
memiliki parameter opsional-G
untuk memilih salah satu metode autentikasi untuk Azure SQL Database -SqlAuthentication
, ,ActiveDirectoryDefault
,ActiveDirectoryIntegrated
ActiveDirectoryServicePrincipal
,ActiveDirectoryManagedIdentity
,ActiveDirectoryPassword
. Untuk informasi selengkapnya, lihat Mengautentikasi dengan ID Microsoft Entra di sqlcmd. Jika-G
tidak disediakan, Keamanan terintegrasi atau autentikasi SQL Server digunakan, tergantung pada keberadaan-U
parameter nama pengguna.Parameter baris perintah
--driver-logging-level
memungkinkan Anda melihat log dari drivergo-mssqldb
. Gunakan64
untuk melihat semua jejak.sqlcmd (Go) dapat mencetak hasil menggunakan format vertikal. Gunakan sakelar
-F vertical
baris perintah untuk mengaturnya. VariabelSQLCMDFORMAT
pembuatan skrip juga mengontrolnya.Catatan
Ini berbeda dari
-F
sakelar untuk sqlcmd (ODBC), yang digunakan dengan-N
untuk menentukan nama host dalam sertifikat.
Opsi baris perintah
Tabel berikut mencantumkan opsi baris perintah yang tersedia di sqlcmd, dan sistem operasi mana yang mereka dukung.
Opsi terkait login
-Sebuah
Berlaku untuk: Windows saja. Tidak mendukung Linux dan macOS.
Masuk ke SQL Server dengan koneksi administrator khusus (DAC). Koneksi semacam ini digunakan untuk memecahkan masalah server. Koneksi ini hanya berfungsi dengan komputer server yang mendukung DAC. Jika DAC tidak tersedia, sqlcmd menghasilkan pesan kesalahan, lalu keluar. Untuk informasi selengkapnya tentang DAC, lihat Koneksi diagnostik untuk administrator database. Opsi -A
tidak didukung dengan -G
opsi . Saat menyambungkan ke Azure SQL Database menggunakan -A
, Anda harus menjadi administrator di server SQL logis. DAC tidak tersedia untuk administrator Microsoft Entra.
Catatan
Untuk informasi tentang cara membuat koneksi administrator khusus (DAC) di macOS atau Linux, lihat Panduan Pemrograman.
-C
Opsi ini digunakan oleh klien untuk mengonfigurasinya untuk secara implisit mempercayai sertifikat server tanpa validasi. Opsi ini setara dengan opsi TRUSTSERVERCERTIFICATE = true
ADO.NET .
Untuk utilitas sqlcmd (Go), kondisi berikut juga berlaku:
- Jika
-N
dan-C
tidak disediakan, sqlcmd menegosiasikan autentikasi dengan server tanpa memvalidasi sertifikat server. - Jika
-N
disediakan tetapi-C
tidak, sqlcmd memerlukan validasi sertifikat server.false
Nilai untuk enkripsi mungkin masih menyebabkan enkripsi paket login. - Jika keduanya
-N
dan-C
disediakan, sqlcmd menggunakan nilainya untuk negosiasi enkripsi.
-d db_name
USE <db_name>
Mengeluarkan instruksi ketika memulai sqlcmd. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDDBNAME
. Parameter ini menentukan database awal. Defaultnya adalah pengaturan database bawaan dari login Anda. Jika database tidak ada, pesan kesalahan dihasilkan dan sqlcmd keluar.
-D
Menginterpretasikan nama server yang disediakan ke -S
sebagai DSN alih-alih nama host. Untuk informasi selengkapnya, lihat Dukungan DSN di sqlcmd dan bcp.
Catatan
Opsi -D
ini hanya tersedia di klien Linux dan macOS. Pada klien Windows, ini mengacu pada opsi usang yang telah dihapus, dan diabaikan.
- Aku login_timeout
Menentukan jumlah detik sebelum login sqlcmd ke driver ODBC habis waktu ketika mencoba menyambungkan ke server. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDLOGINTIMEOUT
. Batas waktu default untuk masuk ke sqlcmd adalah 8 detik. Ketika menggunakan opsi -G
untuk menyambungkan ke Azure SQL Database atau Azure Synapse Analytics dan mengautentikasi menggunakan ID Microsoft Entra, batas waktu habis dianjurkan setidaknya 30 detik. Waktu batas masuk harus berupa angka antara 0
dan 65534
. Jika nilai yang disediakan bukan numerik, atau tidak termasuk dalam rentang tersebut, sqlcmd menghasilkan pesan kesalahan. Nilai 0
menentukan batas waktu menjadi tak terbatas.
-E
Menggunakan koneksi tepercaya alih-alih menggunakan nama pengguna dan kata sandi untuk masuk ke SQL Server. Secara default, tanpa -E
ditentukan, sqlcmd menggunakan opsi koneksi tepercaya.
Opsi -E
mengabaikan kemungkinan pengaturan variabel lingkungan untuk nama pengguna dan kata sandi seperti SQLCMDPASSWORD
.
-E
Jika opsi digunakan bersama dengan -U
opsi atau -P
opsi , pesan kesalahan akan dihasilkan.
Catatan
Untuk informasi selengkapnya tentang membuat koneksi tepercaya yang menggunakan autentikasi terintegrasi dari klien Linux atau macOS, lihat Menggunakan Autentikasi Terintegrasi.
-g
Mengatur pengaturan Enkripsi Kolom ke Enabled
. Untuk informasi selengkapnya, lihat Always Encrypted. Hanya kunci master yang disimpan di Penyimpanan Sertifikat Windows yang didukung. Opsi ini -g
memerlukan setidaknya sqlcmd versi 13.1. Untuk menentukan versi Anda, jalankan sqlcmd -?
.
-G
Opsi ini digunakan oleh klien saat menyambungkan ke Azure SQL Database atau Azure Synapse Analytics, untuk menentukan bahwa pengguna diautentikasi dengan autentikasi Microsoft Entra. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDUSEAAD = true
. Opsi ini -G
memerlukan setidaknya sqlcmd versi 13.1. Untuk menentukan versi Anda, jalankan sqlcmd -?
. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra untuk Azure SQL. Opsi -A
tidak didukung dengan -G
opsi .
Opsi -G
ini hanya berlaku untuk Azure SQL Database dan Azure Synapse Analytics.
Autentikasi interaktif Microsoft Entra saat ini tidak didukung di Linux atau macOS. Autentikasi terintegrasi Microsoft Entra memerlukan Unduh Driver ODBC untuk SQL Server versi 17.6.1 atau yang lebih tinggi dan lingkungan Kerberos yang dikonfigurasi dengan benar.
Untuk informasi selengkapnya tentang autentikasi Microsoft Entra, lihat Mengautentikasi dengan ID Microsoft Entra di sqlcmd.
-H workstation_name
Nama stasiun kerja. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDWORKSTATION
. Nama stasiun kerja tercantum di kolom hostname
lihat katalog sys.sysprocesses
, dan dapat dikembalikan menggunakan prosedur tersimpan sp_who
. Jika opsi ini tidak ditentukan, defaultnya adalah nama komputer saat ini. Nama ini dapat digunakan untuk mengidentifikasi sesi sqlcmd yang berbeda.
-j
Mencetak pesan kesalahan mentah ke layar.
-K tujuan_aplikasi
Menyatakan jenis beban kerja aplikasi saat menyambungkan ke server. Satu-satunya nilai yang saat ini didukung adalah ReadOnly
. Jika -K
tidak ditentukan, sqlcmd tidak mendukung konektivitas ke replika sekunder dalam grup ketersediaan. Untuk informasi selengkapnya, lihat Memindahkan beban kerja hanya-baca ke replika sekunder grup ketersediaan Always On.
Catatan
-K
tidak didukung di SUSE Linux Enterprise Server (SLES). Namun, Anda dapat menentukan ApplicationIntent=ReadOnly
kata kunci dalam file DSN yang diteruskan ke sqlcmd. Untuk informasi selengkapnya, lihat Dukungan DSN di sqlcmd dan bcp nanti di artikel ini.
Untuk informasi selengkapnya, lihat Ketersediaan tinggi dan pemulihan bencana di Linux dan macOS.
-M multisubnet_failover
Selalu tentukan -M
saat menyambungkan ke pendengar grup ketersediaan SQL Server atau Instans Kluster Failover SQL Server.
-M
menyediakan deteksi dan koneksi yang lebih cepat ke server aktif (saat ini). Jika -M
tidak ditentukan, -M
tidak aktif.
Untuk informasi selengkapnya, lihat:
- Terhubung pada listener grup ketersediaan AlwaysOn
- Referensi untuk pembuatan dan konfigurasi grup ketersediaan AlwaysOn
- Pengklusteran Failover dan Grup Ketersediaan AlwaysOn (SQL Server)
- Mengalihkan beban kerja baca-saja ke replika sekunder grup ketersediaan Always On
Catatan
-M
tidak didukung di SUSE Linux Enterprise Server (SLES). Namun, Anda dapat menentukan MultiSubnetFailover=Yes
kata kunci dalam file DSN yang diteruskan ke sqlcmd. Untuk informasi selengkapnya, lihat Dukungan DSN di sqlcmd dan bcp nanti di artikel ini.
Untuk informasi selengkapnya, lihat Ketersediaan tinggi dan pemulihan bencana di Linux dan macOS.
-N
Opsi ini digunakan oleh klien untuk meminta koneksi terenkripsi.
Untuk utilitas sqlcmd (Go), -N
ambil nilai string yang bisa menjadi salah satu dari true
, false
, atau disable
untuk menentukan pilihan enkripsi. (default
sama dengan menghilangkan parameter):
Catatan
Di Linux dan macOS, [s|m|o]
ditambahkan dalam sqlcmd 18.0.
-N
dapat berupa o
(untuk optional
), m
(untuk mandatory
, default), atau s
(untuk strict
). Di Pratinjau SQL Server 2025 (17.x), jika Anda tidak menyertakan -N
, -Nm
(untuk mandatory
) adalah default. Ini adalah perubahan signifikan dari SQL Server 2022 (16.x) dan versi yang lebih lama, di mana -No
merupakan nilai default.
Jika
-N
dan-C
tidak disediakan, sqlcmd menegosiasikan autentikasi dengan server tanpa memvalidasi sertifikat server.Jika
-N
disediakan tetapi-C
tidak, sqlcmd memerlukan validasi sertifikat server.false
Nilai untuk enkripsi mungkin masih menyebabkan enkripsi paket login.Jika keduanya
-N
dan-C
disediakan, sqlcmd menggunakan nilainya untuk negosiasi enkripsi.Di sqlcmd (ODBC), gunakan
-F
untuk menentukan nama host dalam sertifikat. Contohnya:sqlcmd -S server01 -Q "SELECT TOP 100 * FROM WideWorldImporters.Sales.Orders" -A -Ns -F server01.adventure-works.com
Catatan
Ini berbeda dengan
-F
opsi untuk sqlcmd (Go), yang digunakan untuk mencetak hasil menggunakan format vertikal.
-P kata sandi
Kata sandi yang ditentukan pengguna. Kata sandi sensitif terhadap huruf besar dan kecil. Jika opsi -U
digunakan, opsi -P
tidak digunakan, dan variabel lingkungan SQLCMDPASSWORD
tidak diatur, sqlcmd akan meminta kata sandi kepada pengguna. Kami tidak merekomendasikan penggunaan kata sandi null (kosong), tetapi Anda dapat menentukan kata sandi null dengan menggunakan sepasang tanda kutip ganda yang berdampingan untuk nilai parameter (""
).
Penting
Penggunaan -P
harus dianggap tidak aman. Hindari memberikan kata sandi pada baris perintah. Atau, gunakan SQLCMDPASSWORD
variabel lingkungan, atau masukkan kata sandi secara interaktif dengan menghilangkan -P
opsi .
Kami menyarankan agar Anda menggunakan kata sandi yang kuat.
Perintah kata sandi ditampilkan dengan mencetak permintaan kata sandi ke konsol, sebagai berikut: Password:
Input pengguna disembunyikan. Ini berarti bahwa tidak ada yang ditampilkan dan kursor tetap berada di posisi.
Variabel SQLCMDPASSWORD
lingkungan memungkinkan Anda mengatur kata sandi default untuk sesi saat ini. Oleh karena itu, kata sandi tidak harus dikodekan secara permanen ke dalam file batch. Contoh berikut pertama-tama mengatur variabel SQLCMDPASSWORD
di prompt perintah dan kemudian mengakses utilitas sqlcmd.
Pada prompt perintah, ketik perintah berikut. Ganti <password>
dengan kata sandi yang valid.
SET SQLCMDPASSWORD=<password>
sqlcmd
SET SQLCMDPASSWORD=<password>
sqlcmd
SET SQLCMDPASSWORD=<password>
sqlcmd
Jika kombinasi nama pengguna dan kata sandi salah, pesan kesalahan akan dihasilkan.
Catatan
Variabel OSQLPASSWORD
lingkungan disimpan untuk kompatibilitas mundur. Variabel SQLCMDPASSWORD
lingkungan lebih diutamakan daripada OSQLPASSWORD
variabel lingkungan. Ini berarti bahwa sqlcmd dan osql dapat digunakan di samping satu sama lain tanpa gangguan. Skrip lama terus berfungsi.
Jika opsi -P
digunakan dengan opsi -E
, pesan kesalahan akan dihasilkan.
-P
Jika opsi diikuti oleh lebih dari satu argumen, pesan kesalahan dihasilkan dan program keluar.
Kata sandi yang berisi karakter khusus dapat menghasilkan pesan kesalahan. Anda harus menghindari karakter khusus saat menggunakan -P
, atau menggunakan variabel lingkungan sebagai gantinya SQLCMDPASSWORD
.
Di Linux dan macOS, saat digunakan dengan -G
opsi tanpa -U
, -P
menentukan file yang berisi token akses (v17.8+). File token harus dalam format UTF-16LE (tanpa BOM).
Token akses dapat diperoleh melalui berbagai metode. Anda harus memastikan token akses benar byte-for-byte, karena dikirim as-is. Berikut ini adalah contoh perintah yang mendapatkan token akses. Perintah ini menggunakan perintah Azure CLI dan Linux dan menyimpannya ke file dalam format yang tepat. Jika pengodean default sistem atau terminal Anda bukan ASCII atau UTF-8, Anda mungkin perlu menyesuaikan opsi iconv
. Pastikan untuk mengamankan file yang dihasilkan dengan hati-hati dan menghapusnya saat tidak lagi diperlukan.
az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile
-S [protocol:]server[\instance_name][,port]
Menentukan instans SQL Server yang akan disambungkan. Ini mengatur variabel scripting sqlcmdSQLCMDSERVER
.
Tentukan server_name untuk menyambungkan ke instans default SQL Server di komputer server tersebut. Tentukan server_name[\instance_name] untuk menyambungkan ke instans SQL Server bernama di komputer server tersebut. Jika tidak ada komputer server yang ditentukan, sqlcmd tersambung ke instans default SQL Server di komputer lokal. Opsi ini diperlukan ketika Anda menjalankan sqlcmd dari komputer jarak jauh pada jaringan.
protokol dapat berupa tcp
(TCP/IP), lpc
(memori bersama), atau np
(pipa bernama).
Jika Anda tidak menentukan server_name[\instance_name] saat memulai sqlcmd, SQL Server akan memeriksa dan menggunakan SQLCMDSERVER
variabel lingkungan.
Catatan
Variabel OSQLSERVER
lingkungan disimpan untuk kompatibilitas mundur. Variabel SQLCMDSERVER
lingkungan lebih diutamakan daripada OSQLSERVER
variabel lingkungan. Ini berarti bahwa sqlcmd dan osql dapat digunakan di samping satu sama lain tanpa gangguan. Skrip lama terus berfungsi.
Driver ODBC di Linux dan macOS memerlukan -S
. Satu-satunya nilai protokol yang valid adalah tcp
.
-U login_id
Nama login atau nama pengguna yang terdapat dalam database. Untuk pengguna database terisolasi, Anda harus menyediakan opsi nama database (-d
).
Catatan
Variabel OSQLUSER
lingkungan disimpan untuk kompatibilitas mundur. Variabel SQLCMDUSER
lingkungan lebih diutamakan daripada OSQLUSER
variabel lingkungan. Ini berarti bahwa sqlcmd dan osql dapat digunakan di samping satu sama lain tanpa gangguan. Skrip lama terus berfungsi.
Jika Anda tidak menentukan -U
opsi atau -P
opsi , sqlcmd mencoba menyambungkan dengan menggunakan mode Autentikasi Windows. Autentikasi didasarkan pada akun Windows pengguna yang menjalankan sqlcmd.
-U
opsi jika digunakan dengan opsi -E
(yang dijelaskan nanti dalam artikel ini), sebuah pesan kesalahan akan dihasilkan.
-U
Jika opsi diikuti oleh lebih dari satu argumen, pesan kesalahan dihasilkan dan program keluar.
-z new_password
Ubah kata sandi. Ganti <oldpassword>
dengan kata sandi lama, dan <newpassword>
dengan kata sandi baru.
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
sqlcmd -U someuser -P <oldpassword> -z <newpassword>
-Z new_password
Ubah kata sandi dan keluar. Ganti <oldpassword>
dengan kata sandi lama, dan <newpassword>
dengan kata sandi baru.
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
sqlcmd -U someuser -P <oldpassword> -Z <newpassword>
Pilihan input/output
-f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage]
Menentukan halaman kode input dan output. Nomor codepage adalah nilai numerik yang menentukan halaman kode Windows yang diinstal.
Aturan konversi halaman kode:
Jika tidak ada halaman kode yang ditentukan, sqlcmd menggunakan halaman kode saat ini untuk file input dan output, kecuali file input adalah file Unicode, dalam hal ini tidak diperlukan konversi.
sqlcmd secara otomatis mengenali file input Unicode berformat big-endian maupun little-endian. Jika opsi
-u
ditentukan, outputnya selalu berupa Unicode little endian.Jika tidak ada file output yang ditentukan, halaman kode output adalah halaman kode konsol. Pendekatan ini memungkinkan output ditampilkan dengan benar di konsol.
Beberapa file input diasumsikan dari halaman kode yang sama. File input Unicode dan non-Unicode dapat dicampur.
Masukkan chcp
di prompt perintah untuk memverifikasi halaman kode .cmd.exe
Catatan
Di Linux, nomor codepage adalah nilai numerik yang menentukan halaman kode Linux yang diinstal (tersedia sejak 17.5.1.1).
-i input_file[,input_file2...]
Mengidentifikasi file yang berisi batch pernyataan Transact-SQL atau prosedur tersimpan. Beberapa file mungkin ditentukan yang dibaca dan diproses secara berurutan. Jangan gunakan spasi apa pun di antara nama file.
sqlcmd memeriksa terlebih dahulu untuk melihat apakah semua file yang ditentukan ada. Jika satu atau beberapa file tidak ada, sqlcmd akan keluar. Dan -i
-Q
/-q
opsinya saling eksklusif.
Catatan
Jika Anda menggunakan -i
opsi diikuti oleh satu atau beberapa parameter tambahan, Anda harus menggunakan spasi antara parameter dan nilai . Ini adalah masalah yang diketahui dalam sqlcmd (Go).
Contoh jalur:
-i C:\<filename>
-i \\<Server>\<Share$>\<filename>
-i "C:\Some Folder\<file name>"
Jalur file yang berisi spasi harus diapit dalam tanda kutip.
Opsi ini dapat digunakan lebih dari sekali:
sqlcmd -i <input_file1> -i <input_file2>
sqlcmd -i <input_file1> -i <input_file2>
sqlcmd -i <input_file1> -i <input_file2>
-o output_file
Mengidentifikasi file yang menerima output dari sqlcmd.
Jika -u
ditentukan, output_file disimpan dalam format Unicode. Jika nama file tidak valid, pesan kesalahan dibuat, dan sqlcmd keluar.
sqlcmd tidak mendukung penulisan bersamaan dari beberapa proses sqlcmd ke file yang sama. Output file rusak atau salah. Opsi -f
ini juga relevan dengan format file. File ini dibuat jika belum ada. File dengan nama yang sama dari sesi sqlcmd sebelumnya ditimpa. File yang ditentukan di sini bukan stdout
file. Jika file stdout
ditentukan, file tersebut tidak digunakan.
Contoh jalur:
-o C:< filename>
-o \\<Server>\<Share$>\<filename>
-o "C:\Some Folder\<file name>"
Jalur file yang berisi spasi harus diapit dalam tanda kutip.
-r[0 | 1]
Mengalihkan output pesan kesalahan ke layar (stderr
). Jika Anda tidak menentukan parameter atau jika Anda menentukan 0
, hanya pesan kesalahan yang memiliki tingkat keparahan 11 atau lebih tinggi yang dialihkan. Jika Anda menentukan 1
, semua output pesan kesalahan termasuk PRINT
dialihkan. Opsi ini tidak berpengaruh jika Anda menggunakan -o
. Secara default, pesan dikirim ke stdout
.
Catatan
Untuk utilitas sqlcmd (Go), diperlukan argumen -r
atau 0
.
-R
Berlaku untuk: ODBC sqlcmd saja.
Menyebabkan sqlcmd melokalisasi kolom numerik, mata uang, tanggal, dan waktu yang diambil dari SQL Server berdasarkan lokal klien. Secara default, kolom ini ditampilkan menggunakan pengaturan regional server.
Catatan
Di Linux dan macOS, -R
saat ini hanya menggunakan pemformatan Bahasa Inggris AS en_US
.
-u
Menentukan bahwa output_file disimpan dalam format Unicode, terlepas dari format input_file.
Catatan
Untuk utilitas sqlcmd (Go), file output Unicode yang dihasilkan memiliki tanda urutan byte (BOM) Little-Endian UTF-16 pada file tersebut.
Opsi pelaksanaan kueri
-e
Menulis skrip input ke perangkat output standar (stdout
).
-Saya
Berlaku untuk: ODBC sqlcmd saja.
Mengatur opsi koneksi SET QUOTED_IDENTIFIER
ke ON
. Pengaturan default adalah OFF
. Untuk informasi selengkapnya, lihat MENGATUR QUOTED_IDENTIFIER.
Catatan
Untuk menonaktifkan perilaku pengidentifikasi yang dikutip di utilitas sqlcmd (Go), tambahkan SET QUOTED IDENTIFIER OFF
pada skrip Anda.
-q "kueri cmdline"
Menjalankan kueri saat sqlcmd dimulai, tetapi tidak keluar dari sqlcmd saat kueri selesai. Beberapa kueri yang dibatasi titik koma dapat dijalankan. Gunakan tanda kutip di sekitar kueri, seperti yang diperlihatkan dalam contoh berikut.
Pada command prompt, ketik:
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
Penting
Jangan gunakan terminator GO
dalam kueri.
Jika -b
ditentukan bersama dengan opsi ini, sqlcmd akan keluar jika terjadi kesalahan.
-b
dijelaskan di tempat lain dalam artikel ini.
-Q "kueri baris perintah"
Menjalankan kueri ketika sqlcmd dimulai dan kemudian segera keluar dari sqlcmd. Beberapa kueri yang dipisahkan oleh titik koma dapat dijalankan.
Gunakan tanda kutip di sekitar kueri, seperti yang diperlihatkan dalam contoh berikut.
Pada command prompt, ketik:
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
sqlcmd -d AdventureWorks2022 -Q "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE 'Whi%';"
sqlcmd -d AdventureWorks2022 -Q "SELECT TOP 5 FirstName FROM Person.Person;SELECT TOP 5 LastName FROM Person.Person;"
Penting
Jangan gunakan terminator GO
dalam kueri.
Jika -b
ditentukan bersama dengan opsi ini, sqlcmd akan keluar jika terjadi kesalahan.
-b
dijelaskan di tempat lain dalam artikel ini.
-t query_timeout
Menentukan jumlah detik sebelum perintah (atau pernyataan Transact-SQL) berakhir waktu. Opsi ini mengatur variabel scripting sqlcmdSQLCMDSTATTIMEOUT
.
Jika nilai query_timeout tidak ditentukan, perintah tidak kehabisan waktu. query_timeout harus berupa angka antara 1
dan 65534
. Jika nilai yang disediakan bukan numerik atau tidak termasuk dalam rentang tersebut, sqlcmd menghasilkan pesan kesalahan.
Catatan
Nilai waktu habis aktual dapat bervariasi dari nilai query_timeout yang ditentukan selama beberapa detik.
-v var = value [ var = value... ]
Berlaku untuk: Windows saja. Tidak mendukung Linux dan macOS.
Membuat variabel pembuatan skrip sqlcmd yang dapat digunakan dalam skrip sqlcmd.
Sertakan nilai dalam tanda kutip jika nilai berisi spasi. Anda dapat menentukan beberapa <var>="<value>"
nilai. Jika ada kesalahan dalam salah satu nilai yang ditentukan, sqlcmd menghasilkan pesan kesalahan lalu keluar.
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
sqlcmd -v MyVar1=something MyVar2="some thing"
sqlcmd -v MyVar1=something -v MyVar2="some thing"
-x
Menyebabkan sqlcmd mengabaikan variabel pembuatan skrip. Parameter ini berguna ketika skrip berisi banyak pernyataan INSERT
yang mungkin berisi string yang memiliki format yang sama dengan variabel reguler, seperti $(<variable_name>)
.
Opsi format
-h header
Menentukan jumlah baris yang akan dicetak di antara judul kolom. Defaultnya adalah mencetak judul satu kali untuk setiap set hasil kueri. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDHEADERS
. Gunakan -1
untuk menentukan bahwa header tidak dicetak. Nilai apa pun yang tidak valid menyebabkan sqlcmd menghasilkan pesan kesalahan lalu keluar.
-k [1 | 2]
Menghapus semua karakter kontrol, seperti tab dan karakter baris baru dari output. Parameter ini mempertahankan pemformatan kolom saat data dikembalikan.
-
-k
menghapus karakter kontrol. -
-k1
mengganti setiap karakter kontrol dengan spasi. -
-k2
mengganti karakter kontrol berturut-turut dengan satu spasi.
-s col_separator
Menentukan karakter pemisah kolom. Defaultnya adalah spasi kosong. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDCOLSEP
. Untuk menggunakan karakter yang memiliki arti khusus untuk sistem operasi, seperti ampersand (&
) atau titik koma (;
), sertakan karakter dalam tanda kutip ("
). Pemisah kolom dapat berupa karakter 8-bit apa pun.
-w screen_width
Menentukan lebar layar untuk output. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDCOLWIDTH
. Lebar kolom harus angka yang lebih besar dari 8
dan kurang dari 65536
. Jika lebar kolom yang ditentukan tidak termasuk dalam rentang tersebut, sqlcmd menghasilkan pesan kesalahan. Lebar default adalah 80 karakter. Ketika baris output melebihi lebar kolom yang ditentukan, garis tersebut akan dibungkus ke baris berikutnya.
-W
Opsi ini menghapus spasi di akhir dari kolom. Gunakan opsi ini bersama dengan -s
opsi saat menyiapkan data yang akan diekspor ke aplikasi lain. Tidak dapat digunakan dengan opsi -y
atau -Y
.
-y lebar_tampilan_tipe_panjang_variabel
Menetapkan variabel pemrograman `sqlcmd`. Default adalah 256
. Ini membatasi jumlah karakter yang dikembalikan untuk jenis data panjang variabel besar:
- varchar(maks)
- nvarchar(maks)
- varbinary(max)
- xml
- jenis data yang ditentukan pengguna (UDT)
- Teks
- ntext
- gambar
UDT dapat memiliki panjang tetap tergantung pada implementasinya. Jika panjang UDT dengan panjang tetap ini lebih pendek daripada display_width, nilai UDT yang dikembalikan tidak terpengaruh. Namun, jika panjangnya lebih panjang dari display_width, output dipotong.
Perhatian
-y 0
Gunakan opsi dengan sangat hati-hati, karena dapat menyebabkan masalah performa yang signifikan pada server dan jaringan, tergantung pada ukuran data yang dikembalikan.
-Y lebar_tampilan_tipe_panjang_tetap
Menetapkan variabel pemrograman `sqlcmd`. Defaultnya adalah 0
(tidak terbatas). Membatasi jumlah karakter yang dikembalikan untuk jenis data berikut:
- char(n), di mana 1 <= n<= 8000
- nchar(n), di mana 1 <= n<= 4000
- varchar(n), di mana 1 <= n<= 8000
- nvarchar(n), di mana 1 <= n<= 4000
- varbinary(n), di mana 1 <= n<= 4000
- sql_variant
Opsi pelaporan kesalahan
-b
Menentukan bahwa sqlcmd keluar dan mengembalikan DOS ERRORLEVEL
nilai saat terjadi kesalahan. Nilai yang dikembalikan ke ERRORLEVEL
variabel adalah 1
ketika pesan kesalahan SQL Server memiliki tingkat keparahan yang lebih besar dari 10; jika tidak, nilai yang dikembalikan adalah 0
. Jika opsi -V
diatur, selain -b
, sqlcmd tidak akan melaporkan kesalahan jika tingkat keparahan lebih rendah daripada nilai yang ditetapkan menggunakan -V
. File batch prompt perintah dapat menguji nilai ERRORLEVEL
dan menangani kesalahan dengan tepat.
sqlcmd tidak melaporkan kesalahan untuk tingkat keparahan 10 (pesan informasi).
Jika skrip sqlcmd berisi komentar yang salah, kesalahan sintaks, atau tidak memiliki variabel pembuatan skrip, yang ERRORLEVEL
dikembalikan adalah 1
.
-m error_level
Mengontrol pesan kesalahan mana yang dikirim ke stdout
. Pesan yang memiliki tingkat keparahan lebih besar dari atau sama dengan tingkat ini dikirim. Ketika nilai ini diatur ke -1
, semua pesan termasuk pesan informasi, dikirim. Spasi tidak diperbolehkan antara -m
dan -1
. Misalnya, -m-1
valid, dan -m -1
tidak.
Opsi ini juga mengatur variabel skrip sqlcmdSQLCMDERRORLEVEL
. Variabel ini memiliki nilai default 0
.
-V tingkat_keparahan_kesalahan
Mengontrol tingkat keparahan yang digunakan untuk mengatur ERRORLEVEL
variabel. Pesan kesalahan yang memiliki tingkat keparahan lebih besar dari atau sama dengan set ERRORLEVEL
nilai ini . Nilai yang kurang dari 0 dilaporkan sebagai 0
. File Batch dan CMD dapat digunakan untuk menguji nilai ERRORLEVEL
variabel.
Opsi lain-lain
-a packet_size
Meminta paket dengan ukuran yang berbeda. Opsi ini mengatur variabel pemrograman sqlcmdSQLCMDPACKETSIZE
.
packet_size harus berupa nilai antara 512
dan 32767
. Default adalah 4096
. Ukuran paket yang lebih besar dapat meningkatkan performa untuk eksekusi skrip yang memiliki banyak pernyataan Transact-SQL antar GO
perintah. Anda dapat meminta ukuran paket yang lebih besar. Namun, jika permintaan ditolak, sqlcmd menggunakan default server untuk ukuran paket.
-c batch_terminator
Menentukan penanda akhir batch. Secara default, perintah dihentikan dan dikirim ke SQL Server dengan mengetik kata GO
pada baris itu sendiri. Saat Anda mengatur kembali terminator batch, jangan gunakan kata kunci atau karakter yang merupakan cadangan Transact-SQL yang memiliki arti khusus untuk sistem operasi, bahkan jika diawali oleh garis miring terbalik.
-L[c]
Berlaku untuk: Windows saja. Tidak mendukung Linux dan macOS.
Mencantumkan komputer server yang dikonfigurasi secara lokal, dan nama komputer server yang disiarkan di jaringan. Parameter ini tidak dapat digunakan dalam kombinasi dengan parameter lain. Jumlah maksimum komputer server yang dapat dicantumkan adalah 3000. Jika daftar server dipotong karena ukuran buffer, pesan peringatan ditampilkan.
Catatan
Karena sifat penyiaran di jaringan, sqlcmd mungkin tidak menerima respons tepat waktu dari semua server. Oleh karena itu, daftar server yang dikembalikan dapat bervariasi untuk setiap pemanggilan opsi ini.
Jika parameter c
opsional ditentukan, output muncul tanpa Servers:
baris header, dan setiap baris server ditampilkan tanpa spasi di depannya. Presentasi ini disebut sebagai output bersih. Hasil keluaran yang bersih meningkatkan performa pemrosesan bahasa skrip.
-p[1]
Mencetak statistik kinerja untuk setiap set hasil. Tampilan berikut adalah contoh format untuk statistik performa:
Network packet size (bytes): n
x xact[s]:
Clock Time (ms.): total t1 avg t2 (t3 xacts per sec.)
Mana:
-
x
= Jumlah transaksi yang diproses oleh SQL Server. -
t1
= Total waktu untuk semua transaksi. -
t2
= Waktu rata-rata untuk satu transaksi. -
t3
= Jumlah rata-rata transaksi per detik.
Semua waktu dalam milidetik.
Jika parameter opsional 1
ditentukan, maka format output statistik akan berupa format yang dipisahkan dengan titik dua sehingga mudah diimpor ke spreadsheet atau diproses oleh skrip.
Jika parameter opsional adalah nilai apa pun selain 1
, kesalahan dihasilkan dan sqlcmd keluar.
-X[1]
Menonaktifkan perintah yang mungkin membahayakan keamanan sistem saat sqlcmd dijalankan dari file batch. Perintah yang dinonaktifkan masih dikenali; sqlcmd mengeluarkan pesan peringatan dan berlanjut. Jika parameter 1
opsional ditentukan, sqlcmd menghasilkan pesan kesalahan lalu keluar. Perintah berikut dinonaktifkan saat -X
opsi digunakan:
ED
-
!!
perintah
-X
Jika opsi ditentukan, opsi tersebut mencegah variabel lingkungan diteruskan ke sqlcmd. Ini juga mencegah skrip startup yang ditentukan dengan menggunakan SQLCMDINI
variabel scripting agar tidak dijalankan. Untuk informasi selengkapnya tentang variabel pembuatan skrip sqlcmd , lihat sqlcmd - Gunakan dengan variabel pembuatan skrip.
-?
Menampilkan versi sqlcmd dan ringkasan sintaks opsi sqlcmd .
Catatan
Di macOS, jalankan sqlcmd '-?'
(dengan tanda kutip) sebagai gantinya.
Keterangan
Opsi tidak harus digunakan dalam urutan yang diperlihatkan di bagian sintaks.
Catatan
Jika Anda menggunakan -i
opsi diikuti oleh satu atau beberapa parameter tambahan, Anda harus menggunakan spasi antara parameter dan nilai . Ini adalah masalah yang diketahui dalam sqlcmd (Go).
Saat beberapa hasil dikembalikan, sqlcmd mencetak baris kosong di antara setiap hasil yang diatur dalam batch. Selain itu, <x> rows affected
pesan tidak muncul jika tidak berlaku untuk pernyataan yang dieksekusi.
Untuk menggunakan sqlcmd secara interaktif, ketik sqlcmd
prompt perintah dengan satu atau beberapa opsi yang dijelaskan sebelumnya dalam artikel ini. Untuk informasi selengkapnya, lihat Menggunakan sqlcmd.
Catatan
Opsi -l
, -Q
, -Z
atau -i
menyebabkan sqlcmd keluar setelah eksekusi.
Panjang total baris perintah sqlcmd di lingkungan perintah (misalnya cmd.exe
atau bash
), termasuk semua argumen dan variabel yang diperluas, ditentukan oleh sistem operasi yang mendasar.
Dukungan DSN dalam sqlcmd dan bcp
Anda dapat menentukan nama sumber data (DSN) alih-alih nama server di sqlcmd atau bcp -S
opsi (atau sqlcmd :Connect
perintah) jika Anda menentukan -D
.
-D
menyebabkan sqlcmd atau bcp tersambung ke server yang ditentukan dalam DSN dengan -S
opsi .
DSN sistem disimpan dalam odbc.ini
file di direktori ODBC SysConfigDir
(/etc/odbc.ini
pada penginstalan standar). DSN pengguna disimpan di .odbc.ini
direktori beranda pengguna (~/.odbc.ini
).
Pada sistem Windows, DSN Sistem dan Pengguna disimpan dalam registri dan dikelola melalui odbcad32.exe
.
bcp dan sqlcmd tidak mendukung DSN file.
Lihat Kata Kunci dan Atribut DSN serta String Koneksi untuk daftar entri yang didukung oleh driver.
Dalam DSN, hanya entri yang DRIVER
diperlukan, tetapi untuk terhubung ke server jarak jauh, sqlcmd atau bcp membutuhkan nilai dalam SERVER
elemen .
SERVER
Jika elemen kosong atau tidak ada di DSN, sqlcmd dan bcp mencoba menyambungkan ke instans default pada sistem lokal.
Saat Anda menggunakan bcp pada sistem Windows, SQL Server 2017 (14.x) dan versi yang lebih lama memerlukan driver SQL Native Client 11 (sqlncli11.dll
), sementara SQL Server 2019 (15.x) dan versi yang lebih baru memerlukan Driver Microsoft ODBC 17 untuk driver SQL Server (msodbcsql17.dll
).
Jika opsi yang sama ditentukan di baris perintah DSN dan sqlcmd atau bcp , opsi baris perintah akan mengambil alih nilai yang digunakan dalam DSN. Misalnya, jika DSN memiliki DATABASE
entri dan baris perintah sqlcmd menyertakan -d
, nilai yang diteruskan ke -d
digunakan. Jika Trusted_Connection=yes
ditentukan dalam DSN, autentikasi Kerberos digunakan; nama pengguna (-U
) dan kata sandi (-P
), jika disediakan, diabaikan.
Skrip yang ada yang memanggil isql
dapat dimodifikasi untuk menggunakan sqlcmd dengan menentukan alias berikut: alias isql="sqlcmd -D"
.
praktik terbaik sqlcmd
Gunakan praktik berikut untuk membantu memaksimalkan keamanan dan efisiensi.
Gunakan Keamanan Terpadu.
Gunakan
-X[1]
di lingkungan otomatis.Amankan file input dan output dengan menggunakan izin sistem file yang sesuai.
Untuk meningkatkan performa, lakukan sebanyak mungkin dalam satu sesi sqlcmd , bukan dalam serangkaian sesi.
Atur nilai batas waktu untuk eksekusi batch atau kueri menjadi lebih tinggi dari yang Anda perkirakan diperlukan untuk menyelesaikan eksekusi tersebut.
Gunakan praktik berikut untuk membantu memaksimalkan kebenaran:
Gunakan
-V 16
untuk mencatat pesan keparahan tingkat 16 apa pun. Pesan tingkat keparahan 16 menunjukkan kesalahan umum yang dapat dikoreksi oleh pengguna.Periksa kode keluar dan variabel
DOS ERRORLEVEL
setelah proses selesai. sqlcmd mengembalikan0
secara normal, jika tidak, ia mengaturERRORLEVEL
seperti yang dikonfigurasi oleh-V
. Dengan kata lain,ERRORLEVEL
seharusnya tidak diharapkan menjadi nilai yang sama dengan nomor kesalahan yang dilaporkan dari SQL Server. Nomor kesalahan adalah nilai khusus SQL Server yang sesuai dengan fungsi sistem @@ERROR.ERRORLEVEL
adalah nilai khusus sqlcmd untuk menunjukkan mengapa sqlcmd dihentikan, dan nilainya dipengaruhi oleh menentukan-b
argumen baris perintah.
Menggunakan -V 16
dalam kombinasi dengan memeriksa kode keluar dan DOS ERRORLEVEL
dapat membantu menangkap kesalahan di lingkungan otomatis, terutama gerbang kualitas sebelum rilis produksi.
Konten terkait
- Periksa versi utilitas sqlcmd yang terinstal
- Mengunduh dan menginstal utilitas sqlcmd
- Perintah dalam utilitas sqlcmd
- Menggunakan sqlcmd dengan variabel pembuatan skrip
- Panduan Cepat: Menjalankan image kontainer SQL Server Linux dengan Docker
- Memulai utilitas sqlcmd
- Jalankan T-SQL dari file skrip dengan sqlcmd
- Menggunakan sqlcmd
- Menyambungkan ke SQL Server dengan sqlcmd
- Edit Skrip SQLCMD dengan Editor Kueri
- Membuat Tahap Tugas CmdExec