如何驗證與變更 MSDE 系統管理員密碼

文章翻譯 文章翻譯
文章編號: 322336 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將逐步探討您可以用來變更 SQL Server sa (系統管理員) 密碼的步驟。

您可以設定 Microsoft SQL Server Desktop Engine (MSDE 2000) 或更舊版本,以在「混合驗證」模式中執行。sa 帳戶是在安裝程序期間建立的,而且 sa 帳戶具有在 SQL Server 環境中的完整權限。根據預設,sa 密碼是空白的 (NULL),除非您在執行 MSDE 安裝程式時變更該密碼。為符合最佳安全性措施,您必須在第一次機會時,將 sa 密碼變更為強性密碼。

如何驗證 SA 密碼是否為空白

  1. 在裝載著您正在連線的 MSDE 執行個體的電腦上開啟命令提示字元視窗。
  2. 在命令提示字元中輸入下列命令,再按下 ENTER:

    osql -U sa

    這個命令會使用 sa 帳戶,將您連線到本機上的 MSDE 預設執行個體。 如果要連線到您電腦上安裝的具名執行個體,請輸入:

    osql -U sa -S servername\instancename

    您現在正在下列命令提示字元:

    Password: (密碼:)
  3. 再次按下 ENTER。這項操作將為 sa 傳送一個 NULL (空白) 密碼。

    如果您現在正在下列命令提示字元,在您按下 ENTER 之後,您的 sa 帳戶將沒有密碼:

    1>

    Microsoft 建議您建立一個非 NULL 的強性密碼,以符合安全性措施。

    不過,如果您收到下列錯誤訊息,代表您輸入的是不正確的密碼。 此錯誤訊息指示已經為 sa 帳戶建立密碼:
    使用者 'sa' 的登入失敗。
    下列錯誤訊息指示,正在執行 SQL Server 的電腦設定成只有「Windows 帳戶驗證」:
    使用者 'sa' 的登入失敗。原因:未結合受信任的 SQL Server 連線。
    您無法在「Windows 帳戶驗證」模式中驗證您的 sa 密碼。不過您可以建立一個 sa 密碼,未來您的驗證模式變更為「混合模式」時,可以確保您的 sa 帳戶安全。

    如果您收到下列錯誤訊息,表示 SQL Server 可能不在執行中,或您提供的已安裝 SQL Server 具名執行個體的名稱不正確:
    [共用記憶體]SQL Server 不存在或拒絕存取。
    [共用記憶體]ConnectionOpen (Connect())。

如何變更您的 SA 密碼

  1. 在裝載著您正在連線的 MSDE 執行個體的電腦上開啟命令提示字元視窗。
  2. 輸入下列命令,然後按下 ENTER:

    osql -U sa

    Password: 命令提示字元中,如果您的密碼空白,請按下 ENTER,或輸入目前的密碼。這個命令會使用 sa 帳戶,將您連線到本機上的 MSDE 預設執行個體。如果要使用「Windows 帳戶驗證」連線,請輸入下列命令: use osql -E

  3. 請將下列命令各別輸入一行,然後按下 ENTER:
       sp_password @old = null, @new = 'complexpwd',  @loginame ='sa' 
       go
    						

    注意:請確定您使用新的強性密碼取代 complexpwd。強性密碼包含英數字元與特殊字元,以及大小寫字元的組合。

    您將收到下列資訊訊息,指示您的密碼已經成功變更:
    密碼已變更。

如何判斷或變更您的驗證模式

重要:本文包含有關修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和編輯登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Microsoft Windows 登錄說明

警告:不當使用「登錄編輯程式」可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 並不保證可以解決您不當使用「登錄編輯程式」所導致的問題。請自行承擔使用「登錄編輯程式」的一切風險。


如果您不確定如何驗證您的 MSDE 安裝的驗證模式,您可以檢查對應的登錄項目。根據預設,Windows LoginMode 登錄子機碼的值針對「Windows 帳戶驗證」設定為 1。當啟用「混合模式」驗證時,這個值為 2。

  • LoginMode 子機碼的位置,視您將 MSDE 安裝為預設 MSDE 執行個體或安裝為具名執行個體而定。如果您將 MSDE 安裝為預設執行個體,則 LoginMode 子機碼位於下列登錄子機碼中:
    HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
  • 如果您將 MSDE 安裝為具名執行個體,則 LoginMode 子機碼位於下列登錄子機碼中:
    HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
注意:在您切換驗證模式之前,您必須設定一個 sa 密碼,以避免暴露於一個可能的安全性漏洞。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
274773 FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank
如果要從「混合模式」切換成整合式 (Windows) 驗證,請依照下列步驟執行:
  1. 如果要停止 MSSQLSERVER 以及所有其他相關服務 (例如 SQLSERVERAgent),請在 [控制台] 開啟 [服務] 小程式。
  2. 開啟「登錄編輯程式」。如果要開啟「登錄編輯程式」,請按一下 [開始],再按一下 [執行],然後輸入: regedt32

    按一下 [確定]

  3. 找到下列任一子機碼 (視您將 MSDE 安裝為預設 MSDE 執行個體或安裝為具名執行個體而定:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer

    - 或 -

    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\
  4. 在右邊窗格中,按兩下 [LoginMode] 子機碼。
  5. [DWORD 編輯程式] 對話方塊中,將此機碼的值設定為 1。請確定已選取 [Hex] 選項,然後按一下 [確定]
  6. 重新啟動 MSSQLSERVER 與 SQLSERVERAgent 服務以使變更生效。

SQL Server 安裝的安全性最佳措施

下列的每個項目將使您的系統更加安全,而且它們是任何 SQL Server 安裝的標準安全性「最佳措施」的一部分。
  • 使用非 NULL 密碼以確保您的 sa 登入帳戶安全。有些病蟲只會危害沒有安全防護的 sa 登入帳戶。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    313418 PRB:Unsecured SQL Server with Blank (NULL) SA Password Leaves Vulnerability to a Worm
    因此,要確保內建的 sa 帳戶具有強性密碼,您必須遵循《SQL Server 線上叢書》中的<系統管理員 (SA) 登入>主題中所提供的建議,即使您從未直接使用 sa 帳戶。
  • 封鎖您網際網路閘道的連接埠 1433,然後指定 SQL Server 監聽替代的連接埠。
  • 如果必須使用您網際網路閘道上的連接埠 1433,請啟用進出篩選以避免發生濫用連接埠的情形。
  • 執行 Microsoft Windows NT 帳戶 (而不是「本機系統」帳戶) 下方的 SQLServer 服務與 SQL Server 代理程式。
  • 啟用「Microsoft Windows NT 驗證」,然後針對成功與失敗的登入啟用稽核。接著,停止和重新啟動 MSSQLServer 服務。將您的用戶端設定成使用「Windows NT 驗證」。

?考

如需有關空白的 sa 密碼如何遭到利用的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
313418 PRB:Unsecured SQL Server with Blank (NULL) SA Password Leaves Vulnerability to a Worm
如需有關驗證模式變更時, 之後的 SQL Server 2000 Service Pack 1 行為變更的情形,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
274773 FIX:If You Change Windows Security to Windows/SQL Security the SA Password is Blank

屬性

文章編號: 322336 - 上次校閱: 2011年5月16日 - 版次: 4.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Express Edition
關鍵字:?
kbsqldeveloper kbhowtomaster KB322336
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com