首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 本地管理員無法登入?電腦重命名後的 SID 不匹配解決方案

     編輯:關於SqlServer

問題情境

使用 Sysprep 修改電腦名稱後,原本的本地管理員帳號與 SA 帳號均無法登入 SQL Server 2008。根本原因有二:

  1. SID 不匹配:SQL Server 儲存的是 Windows 帳號的 SID,電腦重命名後本地管理員雖同名但 SID 已變,導致無法辨識。
  2. 未啟用混合驗證:環境準備時僅啟用 Windows 驗證,SA 帳號自然無法使用。

快速修復:啟用混合驗證模式

  1. 以 Windows 驗證登入 SSMS
  2. 右鍵伺服器節點 → 屬性 → 安全性
  3. 將 伺服器驗證 改為 SQL Server 和 Windows 驗證模式
  4. 右鍵伺服器節點 → 重新啟動 服務生效

進階修復:將本地管理員加入 sysadmin 角色(單用戶模式)

若上述方法仍無法以本地管理員登入,需以單用戶模式啟動 SQL Server 並授權:

  1. 停止 SQL Server 服務
  2. 修改服務啟動參數,在原參數後加入 ;-m(單用戶模式)
  3. 啟動 SQL Server 服務
  4. 使用 sqlcmd 連線:sqlcmd -S . -E
  5. 執行授權指令:
    EXEC sp_addsrvrolemember 'MachineName\Administrator', 'sysadmin';
    GO
  6. 停止服務,移除 ;-m 參數
  7. 正常啟動 SQL Server 服務

最佳實踐建議

  • 安裝時務必勾選 混合驗證模式 並設定強健 SA 密碼
  • 妥善保管 SA 密碼,避免單一認證管道風險
  • 電腦重命名前先移除 SQL Server 與資料庫相依性,或重裝較保險
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved