本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2014 中將使用者定義資料庫設定為單一使用者模式。 單一使用者模式指定一次只可有一位使用者存取資料庫,且一般是用於維護動作。
本主題內容
開始之前:
使用下列方法,將資料庫設定為單一使用者模式:
開始之前
限制事項
如果其他使用者可在將資料庫設定為單一使用者模式時連接到資料庫,則會關閉他們與資料庫的連接,而不會發出警告。
即使設定該選項的使用者登出,資料庫仍會保持為單一使用者模式。 此時其他使用者可以連接到這個資料庫,但只能有一位。
必要條件
- 將資料庫設為 SINGLE_USER 之前,請先確定 AUTO_UPDATE_STATISTICS_ASYNC 選項是否設為 OFF。 此選項設為 ON 時,更新統計資料的背景執行緒會取得資料庫連接,而您就無法以單一使用者模式存取資料庫。 如需詳細資訊,請參閱 ALTER DATABASE SET 選項 (Transact-SQL)。
安全性
權限
需要資料庫的 ALTER 權限。
使用 SQL Server Management Studio
若要將資料庫設定為單一使用者模式
在 [物件總管] 連線 Microsoft SQL Server 資料庫引擎執行個體,然後加以展開。
以滑鼠右鍵按一下要變更的資料庫,然後按一下 [屬性]。
在 [資料庫屬性] 對話方塊中按一下 [選項] 頁面。
從 [限制存取] 選項中,選取 [單一]。
如果其他使用者已連接到資料庫,則會出現 [開啟連接] 訊息。 若要變更屬性並關閉其他所有連接,請按一下 [是]。
您也可使用這個程序,將資料庫設定為多個或限制存取。 如需限制存取選項的詳細資訊,請參閱 資料庫屬性 (選項頁面) 。
使用 TRANSACT-SQL
若要將資料庫設定為單一使用者模式
連線至資料庫引擎。
在標準列中,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 這個範例會將資料庫設成
SINGLE_USER
模式來取得獨佔存取。 此範例接著會將 AdventureWorks2012 資料庫的狀態設定為READ_ONLY
,並將資料庫的存取權傳回給所有使用者。終止選項WITH ROLLBACK IMMEDIATE
是在第一個ALTER DATABASE
語句中指定。 這會導致回復所有不完整的交易,並立即中斷 與 AdventureWorks2012 資料庫的任何其他連線。
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO