一般來說都是用 Windows 驗證連接資料庫,不過前幾天想把我本機的 SQL Server 2008 的 sa 帳戶啟用時卻發生『無法設定主體 ‘sa’ 的憑證』的錯誤 (如下圖),這個奇特的錯誤只會發生在使用 SQL Server 2008 的 SQL Server Management Studio (SSMS) 工具時,連用 SQL Server 2008 SSMS 設定設定 SQL Server 2005 也會出現一樣的問題。

sa-error

解決方法也令人匪夷所思,只要切換到 [一般] 頁籤,並勾選 [對應到認證(M)] 即可更新完成,所有針對 sa 帳戶的操作如改密碼、改狀態、…等等都需要勾選這個勾選項目才行:

sa

我透過點選 [指令碼] 按鈕 ( 參見 查詢透過 Management Studio 的 GUI 所執行的 T-SQL 指令  ) 取得指令碼發現,透過 GUI 的操作的些微差異的確會影響 T-SQL 的指令,如果會使用 T-SQL 指令操作或管理資料庫的人應該不會有這些困擾。

1. 如果沒有勾選 [對應到認證(M)] 時產生的指令碼如下:

USE [master] GO
ALTER LOGIN [sa] WITH DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[繁體中文], CHECK_EXPIRATION=OFF,
CHECK_POLICY=ON, NO CREDENTIAL
GO
ALTER LOGIN [sa] ENABLE
GO

2. 如果勾選 [對應到認證(M)] 時產生的指令碼如下:

ALTER LOGIN [sa] ENABLE
GO

相關連結

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料