Sql-Server-2008

Microsoft SQL Server Management Studio 中的 SQL 腳本範圍 - 針對活動數據庫或所有數據庫執行?

  • May 1, 2017

我對SQL Server不是很熟悉,對MySQL比較熟悉。

我習慣於在程式碼中查看所有內容,而在 SQL Server 中,有些事情是通過按鈕完成的。在 MySQL 中,我會執行USE testing_database,然後我會知道我的後續查詢將針對該數據庫執行。

在 SQL Server Management Studio 中,我看到在下拉選擇中選擇了我的“測試數據庫”。這是否意味著腳本中的查詢將僅針對該數據庫執行?

該腳本不包含對數據庫名稱的任何引用。它用於sp_msdependencies填充視圖列表,然後作用於該列表。只對目前數據庫執行*?sp_msdependencies*

除了測試數據庫之外,還有其他幾個我不想在這個測試中涉及的數據庫。

如果執行 use database語句,後續查詢將僅針對該 db 執行。但是:這僅適用於目前選項卡。

在 SSMS 中查看連接上下文,查看目前選項卡的右下角。您應該在那裡看到目前的數據庫名稱。

或者您可以使用以下命令查詢目前數據庫:

SELECT DB_NAME() AS [Current Database];

注意:可以打開多個選項卡,這些選項卡可以連接到不同的數據庫或伺服器。如果您打開並平鋪了多個選項卡,則可能會有些混亂。

作為一項額外的預防措施,您可以斷開並關閉其他選項卡以防止發生任何事故。

一個 sql 腳本可能包含許多 sql 語句,並且可能包含另一個使用數據庫命令,該命令可以通過腳本部分更改連接。在執行其他人提供的腳本之前,您應該閱讀該腳本或搜尋此內容。

最後一個警告:也可以使用已註冊的伺服器同時連接到多個數據庫伺服器。但是,除非您故意選擇這樣做,否則您極不可能甚至偶然遇到這種情況。

引用自:https://dba.stackexchange.com/questions/172396