將目前管理員使用者新增至 SQL Server Express 2008

將目前管理員使用者新增至 SQL Server Express 2008

我已成功(在“eksperiments”中)從 SQL Express 實例中刪除了我的兩個 Windows 使用者。我現在以 Windows 管理員身份登錄,並重新建立了相應的 SQL 登入名,但我無法指派 sysadmin 權限。我收到錯誤:

使用者無權執行此操作。 (微軟 SQL Server,錯誤:15247)

如果管理員不能做到這一點,我是否應該開始尋找小動物來犧牲?

答案1

您的 Windows 管理員帳戶可能沒有管理員權限 - 這取決於您的設定。您需要使用具有權限的帳戶登錄,或以 sa 使用者身分登入。

如果您沒有啟用 SQL 身份驗證,您可以透過註冊表調整來啟動它。我認為這是正確的關鍵:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode

它應該設定為混合模式(2),但當然您仍然需要知道安裝實例時的 sa 密碼是什麼。

答案2

CodePlex 上有一個腳本,可以自動從失去本機 SQL Server 執行個體的系統管理員權限中恢復,前提是您有權存取 Windows 管理員帳戶:

http://code.msdn.microsoft.com/addselftosqlsysadmin/

答案3

如果您更願意使用 SSMS 而不是 sqlcmd/osql,請更新 SQL Server 實例的服務的啟動權限以包含「-m」或 -m「Microsoft SQL Server Management Studio - 查詢」。

然後使用此命令透過命令列進行連接:

sqlcmd -E -S HOSTNAME\INSTANCENAME

或透過 SSMS 連接到:

\\.\pipe\hostname\instancename\sql\query

並使用它來添加您的登入名稱和角色:

CREATE LOGIN [domain\username] FROM WINDOWS;
GO
EXEC sp_addsrvrolemember 'domain\username', 'sysadmin';
GO

之後您可以刪除服務上的“-m”選項並正常啟動它。

http://msdn.microsoft.com/en-us/library/ms188236.aspx了解詳情。

相關內容