在單用戶模式下啟動SQL Server的2種方法

什麼是單用戶模式?

在某些情況下,用戶可能必須在單用戶模式下啟動SQL Server實例。例如,在發生故障或損壞的情況下,您可能需要從備份中恢復主數據庫,將數據庫分離並殺死所有連接。這兩個操作都需要在單用戶維護模式下啟動SQL Server的實例。

當單用戶模式啟動數據庫時,發生以下事件:

  • 當前與數據庫的任何當前連接都會在沒有警告的情況下刪除
  • 只有一個用戶可以連接到數據庫
  • 檢查點過程未啟動

我將引導您完成將SQL Server數據庫放入單用戶模式的過程。可以通過設置啟動參數或通過命令提示符來通過SQL Server Configuration Manager完成。

方法1:通過SQL Server Configuration Manager以單用戶模式啟動SQL Server

運行SQL Server配置管理器。選擇SQL Server服務從左圖,然後右鍵單擊所需的SQL Server服務,該服務需要以單用戶模式運行。選擇特性從下拉菜單中。

在SQL Server 2014或2012中,單擊啟動參數選項卡。類型-m指定啟動參數盒子,然後單擊添加

如果您已經安裝了SQL Server 2008、2005或更早版本,請單擊先進的選項卡。附加; -M到達啟動參數盒子。

點擊申請保存更改。重新啟動您的SQL Server實例,然後應以單用戶模式運行。

方法2:通過命令提示符以單用戶模式啟動SQL Server

首先,您需要找出SQL Server實例的名稱。按Windows鍵 + r來啟動運行框。類型Services.MSC然後按Enter打開服務窗口。

參見:停止或啟動SQL Server服務的5種方法

在列表中找到所需的SQL Server服務,雙擊它。這將打開該服務的屬性對話框。複製其中列出的服務名稱。在我的示例中,服務名稱是MSSQL $ SQLEXPRESS。

打開具有管理特權的命令提示符,然後運行以下命令以停止SQL Server服務。
net stop service_name

下一步是在單用戶模式下啟動服務。這是通過指定完成的/m參數net start命令。

如何知道運行的SQL Server實例是否處於單用戶模式

當您的SQL Server實例以單用戶模式啟動時,它可以防止多個客戶端同時連接到服務器。例如,如果您已經通過SA帳戶連接到DB,然後嘗試通過SQL Server Management Studio(SSM)再次登錄,您將收到以下錯誤消息:

用戶登錄失敗”。原因:服務器處於單用戶模式。此時只有一個管理員可以連接。

要解決此問題,您需要從啟動參數中刪除-M並重新啟動SQL Server實例,這將使數據庫返回多用戶模式。