將工作站從域移動到工作組後,無法訪問 SQL Server 2008 R2 Express 中的任何數據庫
我安裝了用於開發目的的 SQL Server 2008 R2 Express 的工作站已從域移出到 Windows 工作組。作為域的一部分,我使用了具有域管理員權限的帳戶“MyDomain\MyUserName”。現在,我以具有本地管理員權限的“MyComputerName\MyUserName”身份登錄我的電腦。
在 SQL Server 配置管理器中,我已將啟動“SQL Server (Express)”服務的帳戶從“MyDomain\MyUserName”更改為“MyComputerName\MyUserName”。
我可以在 SQL Server Management Studio 中連接實例(使用 Windows 身份驗證),並且可以在左側的對象資源管理器中看到所有數據庫。但是,一旦我嘗試在對象資源管理器中打開任何數據庫節點,我就會收到一條消息,指出無法訪問數據庫。除了“master”或“tempdb”等系統數據庫之外,我收到所有數據庫的此消息。
如果我嘗試在其中一個數據庫上執行任何查詢,我會收到“SQL Server Message 916”:
伺服器主體“MyComputerName\MyUserName”無法在目前安全上下文下訪問數據庫“MyDatabase”。
有什麼辦法可以再次訪問我的數據庫?
編輯
我還嘗試在 SSMS 中手動創建一個新數據庫,但它會引發錯誤:
數據庫“master”中的 CREATE DATABASE 權限被拒絕(Microsoft SQL Server,錯誤:262)
編輯 2
我忘了提到該工作站執行的是 Windows XP(Service Pack 3),並且工作站已從其中刪除的域是舊的 Windows NT 域——以防萬一這對於找出問題的原因很重要。
我以前也遇到過這種情況。如果您沒有 sa 密碼並且您不是 sysadmin 組的成員,那麼您只剩下一個選項,即在維護模式下啟動 SQL Server。這將允許您重置 sa 密碼並將自己添加到 sysadmin 伺服器角色。
這是一個連結,當我不得不這樣做時,我發現它很有用,因為它逐步描述了您需要做什麼。祝你好運!
<連結>
您用於執行 SQL Server 的服務帳戶(您在配置管理器中輸入的內容)也必須是 SQL Server 中 sysadmin 角色的成員。如果您尚未這樣做,請使用 sa 帳戶登錄並授予 Windows 服務帳戶 sysadmin 伺服器角色。