如何驗證 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:
注意:請確定您使用新的強性密碼取代 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
|
如需詳細資訊,請按一下下面的文件編號,檢視「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 驗證」。 |