Apakah ada cara untuk menghentikan pesan Changed database context to...
ketika bagian dari SQL memiliki USE database
di dalamnya?
Anda perlu mengatur errorlevel dari sqlcmd
, yang secara default bernilai 0. Catatan: jangan bingung antara errorlevel di sini dengan kode keluar dari sqlcmd
yang dikembalikan ke, katakanlah, cmd.exe
sebagai ERRORLEVEL
.
Untuk menonaktifkan pesan ini untuk semua sesi sqlcmd
, gunakan opsi -m
pada baris perintah:
sqlcmd -m 1 <other options>
Untuk menonaktifkan pesan ini untuk sebuah blok kode, gunakan perintah batch :setvar
:
USE [mydb]
GO
-- Disable message for next USE command
:setvar SQLCMDERRORLEVEL 1
USE [mydb]
GO
-- Reenable
:setvar SQLCMDERRORLEVEL 0
...
Untuk menggunakan :setvar
(atau perintah batch SQLCMD lainnya) di Management Studio, Anda harus mengaktifkan mode SQLCMD untuk jendela kueri yang Anda buka (menu "Query / SQLCMD Mode "). Anda akan melihat bahwa mode ini telah diaktifkan, ketika baris yang dimulai dengan ':' memiliki latar belakang abu-abu.
Dalam kasus saya, solusi yang mudah dan sederhana adalah menjalankan kueri kecil terlebih dahulu, seperti SELECT 1;
. Oleh karena itu, pesan Konteks basis data berubah...
digabungkan ke kueri pertama ini dan kueri berikutnya diambil tanpa pesan kesalahan ini.