在 SQL Server 2005 中,將備份檔還原至新環境或不同執行個體後,資料庫常會進入「受限制使用者」狀態,導致一般使用者無法連線,僅允許 db_owner、dbcreator 或 sysadmin 角色存取。本文說明成因與快速解除方法。
RESTRICTED_USER 設定。
-- 立即切換為多重使用者模式
ALTER DATABASE [YourDB] SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO
WITH ROLLBACK IMMEDIATE 會強制中斷現有連線並回滾未完成交易,確保模式立即生效。
還原後常伴隨登入與使用者 SID 不符問題,執行下列指令檢查並修復:
-- 檢查孤立使用者
EXEC sp_change_users_login 'Report';
GO
-- 修復:將資料庫使用者對應至伺服器登入(若登入已存在)
EXEC sp_change_users_login 'Auto_Fix', 'UserName', NULL, 'Password';
GO
-- 或建立新登入並對應
EXEC sp_change_users_login 'Auto_Fix', 'UserName';
GO
MULTI_USER 模式。WITH REPLACE, STATS=10 的還原指令,並在還原腳本末端加入 ALTER DATABASE ... SET MULTI_USER。透過上述步驟,可在數秒內解除「受限制使用者」限制,恢復正常業務存取。