本主題描述如何使用 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
將資料庫設定為單一使用者模式
在 [物件總管]中,連接到 SQL Server Database Engine 的實例,然後展開該實例。
以滑鼠右鍵按下要變更的資料庫,然後點選 屬性。
在 [ 資料庫屬性] 對話框中,按兩下 [ 選項 ] 頁面。
從 [限制存取] 選項中,選取 [單一]。
如果其他使用者連線至資料庫,[開啟連線] 訊息即會出現。 若要變更 屬性並關閉所有其他連線,請按兩下 [ 是]。
您也可以使用此程式,將資料庫設定為多個或限制存取。 如需有關限制存取選項的詳細資訊,請參閱資料庫屬性 (選項頁面)。
使用 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