程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> SQL提示Login failed for user'sa'錯誤的解決方案

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

編輯:關於MYSQL數據庫

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

      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。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved