萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> SQL提示Login failed for user'sa'錯誤的解決方案

SQL提示Login failed for user'sa'錯誤的解決方案

  現象:---------------------------------------------------

  1、連接SQL Server數據庫提示:Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection 錯誤

  問題:-------------------------------------------------

  初步分析應該與用戶權限有關,查閱幫助文件,微軟官方給出的原因:

  當 SQL Server 2000 安全身份驗證設置為“僅 Windows”, 並且存在下列情況之一時,就會發生此問題:

  您正在嘗試使用 SQL Server 登錄連接到 SQL Server 2000 數據庫。

  您正在嘗試使用信任的 SQL Server 連接來連接到安裝在基於 Microsoft Windows 98 的計算機上的 SQL Server 2000 桌面引擎(也稱為 MSDE 2000)數據庫。

  您正在嘗試從某 Windows 帳戶連接到 SQL Server 2000 數據庫,而該帳戶沒有足夠的權限連接到服務器。

  解決:--------------------------------------------

  官方給出的解決辦法:

  SQL Server 登錄

  使用有效的 Windows 登錄連接到 SQL Server。如果必須繼續使用 SQL Server 登錄,您可以將在 SQL Server 2000 中的安全身份驗證模式更改為“SQL Server 和 Windows”。為此,請按照下列步驟操作:

  啟動企業管理器。

  展開“Microsoft SQL Servers”,然後展開“SQL Server 組”。

  右鍵單擊要更改為“SQL Server 和 Windows”身份驗證的服務器,然後單擊“屬性”。

  在“SQL Server 屬性”對話框中,單擊“安全”選項卡,單擊“SQL Server 和 Windows”,然後單擊“確定”。

  當提示您重新啟動 SQL Server 服務時,單擊“是”。

  SQL Server 2000 桌面引擎 (MSDE 2000) 安裝在基於 Microsoft Windows 98 的計算機上

  當 SQL Server 2000 桌面引擎安裝在基於 Windows 98 的計算機上時,必須使用標准的 SQL Server 登錄連接到數據庫。當您在基於 Windows 98 的計算機上安裝 SQL Server 2000 桌面引擎時,不支持“僅 Windows”身份驗證模式。

  Windows 帳戶權限不足

  要解決此問題,必須將 Windows 帳戶添加到 SQL Server,然後為用戶需要訪問的每個數據庫授予適當的權限。為此,請按照下列步驟操作:

  啟動企業管理器。

  展開“Microsoft SQL Server”,然後展開“SQL Server 組”。

  展開您的服務器,然後展開“安全”。

  右鍵單擊“登錄”,然後單擊“新建登錄”。

  在“SQL Server 登錄屬性”對話框中,在“名稱”框中輸入 Windows 帳戶名。在“域”列表中,選擇該 Windows 帳戶所屬的域。

  單擊“數據庫訪問”選項卡,為客戶端設置適當的權限,然後單擊“確定”

  注意:在添加帳戶後,您仍然必須為用戶需要訪問的各個數據庫對象授予訪問權限。

  2、剛裝完SQL Server 2008 Express,嘗試使用sa賬號登錄,但總是出現Login failed for user 'sa' 錯誤。覺得應該是SQL Server的認證模式沒設對,SQL Server Express默認是Windows Authentication模式,我必須設成Mixed Authentication Mode才可以。

  所以查了一下文檔,微軟的官方文檔說只要把sa賬號enable就可以了,但試過後同樣的錯誤。後來截取了SQL Server Management Studio的腳本才發現還必須要改一個注冊表鍵值才行。

  在我的機器上該鍵值是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLServerLoginMode

  1 - Windows Authentication Mode

  2 - Mixed Authentication Mode

  改成2以後就能用sa賬號登錄了。

  *補充一下,必須得重啟SQL Server的服務改動才能有效。

  3、在 SQL Server 2005 中,您將收到"登錄錯誤: 18456"錯誤消息在您嘗試登錄到 SQL Server 2005 實例並且下列條件都為真時:

  •您嘗試使用 SQL Server 身份驗證的登錄來登錄到該實例。

  •在 SQL Server 服務配置服務的啟動帳戶使用域帳戶。

  •SQL 身份驗證登錄接收"登錄錯誤: 18456"錯誤消息被配置為使用 Windows 域密碼策略實施。

  注意默認情況下,除非您顯式設置創建登錄語句的 CHECK_POLICY 子句為 OFF 時創建給定的登錄啟用 SQL 身份驗證登錄的 Windows 域密碼策略實施。

  •SQL Server 啟動服務的服務帳戶已鎖定或禁用域控制器上。

  如果配置登錄審核失敗登錄事件寫入錯誤日志的 SQL Server 實例,以下消息將寫入 SQL Server 錯誤日志文件:

  錯誤消息 1

  日期時間登錄錯誤: 18456,嚴重: 14 日狀態: 10。

  解決方案

  可以從 Microsoft 獲得支持的熱修復補丁程序。但是,此修補程序僅能用於解決本文中描述的問題。此熱修復補丁程序僅適用於正出現此特定問題的系統。此修補程序可能會接受進一步的測試。因此,如果這個問題沒有對您造成嚴重的影響,我們建議您等待包含此修復程序的下一個軟件更新。

  如果此修補程序已可供下載,則此知識庫文章頂部"提供修補程序下載"部分。如果未顯示此節,請聯系 Microsoft 客戶服務和支持,以獲取此修復程序。

  注意如果出現其他問題或需要任何故障診斷,您可能需要創建單獨的服務請求。其他支持問題和事項,不適合於此特定的修補程序將收取照常收取支持費用。Microsoft 客戶服務和支持電話號碼,或創建單獨的服務請求的完整列表,請訪問下面的 Microsoft Web 站點:

  http://support.microsoft.com/contactus/?ws=support

  () http://support.microsoft.com/contactus/?ws=support

  注意"可用的熱修補程序下載"表格顯示此熱修復補丁程序適用的語言。如果您看不到您的語言,這是因為熱修復補丁程序不適用於該語言。

  先決條件

  您必須具有要應用此修補程序安裝的 SQL 服務器 2005 Service Pack 1。

copyright © 萬盛學電腦網 all rights reserved