2013-12-19 42 views
2

我指的,當我們說我們USE dbTest開始使用該數據庫,我們可以創建表格,什麼不可以的,如果我們想改變數據庫,我們可以只說USE dbNotatest,它會改變我們正在使用的數據庫。是否有停止在SQL Server中使用數據庫的命令?

但是,有沒有辦法停止使用,我們首先選擇的數據庫,沒有開始使用另一個呢?

+0

你爲什麼要這樣?你需要使用一個數據庫來查詢 – CaveCoder

+0

是的,我試圖刪除一個我正在使用的數據庫,當然,因爲我正在使用它,所以我不能這樣做,我想我們總是可以改變爲master雖然。 – user1676874

+0

你想查詢沒有數據庫??? !! – Zane

回答

10

要停止使用的數據庫,你需要改變你的數據庫環境。例如,如果您要刪除數據庫並且位於該數據庫的上下文中,只需切換到另一個數據庫(通常爲mastertempdb)。

如果其他連接是開放的數據庫,並防止你刪除了數據庫,你需要殺死連接的spid。這可能是乏味的,所以一個選項強制關閉所有連接,然後放下你的數據庫,通常爲我的作品是:

use [master]; 
ALTER DATABASE [foo] SET OFFLINE WITH ROLLBACK IMMEDIATE; 
ALTER DATABASE [foo] SET ONLINE; 
DROP DATABASE [foo]; 

由數據庫脫機回滾立即採取,我強迫所有連接關閉,並回退任何打開交易。現在,我可以在脫機時刪除它,但如果我這樣做,數據庫文件將保留在文件系統上。在線刪除數據庫將刪除數據庫文件,因此在放下數據庫文件之前將其重新聯機。

0

在SQL Server中沒有選項。

只能使用使用查詢來操縱其他databasees否則你不要有任何選項。

相關問題