如何驗證 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>\MSSQLServer4.
在右邊窗格中,按兩下 [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 驗證」。