出自: http://blogs.msdn.com/b/apgcdsd/archive/2011/02/01/sql-login-sql-server-password-did-not-match.aspx
問題描述:?在某一臺機器上的management studio,始終無法使用SQL login去登陸SQL Server。但是如果在其他的機器上,使用同樣的SQL login是可以登陸SQL Server的。
錯誤信息:'Password did not match '
?
診斷步驟:
1.???????在這臺機器上使用SQLCMD連接SQL Server,用同樣的SQL login?登陸,是否可以成功?
2.???????創建一個新的SQL login?但是使用空密碼。然后在出問題的機器上使用新創建的SQL login以及空密碼登陸SQL Server,是否可以成功?
如果1和2都可以成功,基本上我們就可以確定問題是由于management studio工具對傳過去的密碼加密失敗導致的了。
?
Management studio工具把我們在界面上輸入的密碼傳到SQL Server之前,是需要首先做加密的。這個加密的密碼存在什么地方呢?
我們可以在run中運行%appdata%這個環境變量來檢查路徑。通常這個路徑設置為的是%USERPROFILE%\AppData\Roaming。在這個路徑下面,繼續找到microsoft\protect?目錄。
所有加密的cache就存放這個目錄下面了。
?
?
接下來我們看導致這個問題的幾個原因:
1.?????可以嘗試清空protect目錄下所有的文件和文件夾,然后重試。
2.?????直接運行%appdata%報錯,無法打開指定的路徑,這種情況通常是對%appdata%指向的路徑沒有權限,或者%appdata%指向路徑是錯誤的。%appdata%是存儲在如下注冊表鍵值中的,我們可以通過訪問注冊表來確認這個路徑是否有效:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\AppData.
3.?????對于注冊表鍵值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\AppData.沒有訪問權限。這個也很容易通過訪問注冊表鍵值來確認。
只要我們當前用戶確認對注冊表鍵值有訪問的權限,注冊表鍵值中所存儲的路徑有效,當前用戶對注冊表鍵值所存儲的路徑有訪問和寫權限,這個問題就可以解決了。
有時候我們會發現這個目錄下的Microsoft子目錄下找不到protect文件夾,只要上述三個前提檢查,修改并確保滿足以后,這個protect目錄在management studio使用加密的時候會自動創建,所以protect文件夾不存在并不是問題的原因。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
