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

來源:互聯網
上載者:User

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

  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 獲得支援的熱修複補丁程式。但是,此Hotfix僅能用於解決本文中描述的問題。此熱修複補丁程式僅適用於正出現此特定問題的系統。此Hotfix可能會接受進一步的測試。因此,如果這個問題沒有對您造成嚴重的影響,我們建議您等待包含此修複程式的下一個軟體更新。

  如果此Hotfix已可供下載,則此知識庫文章頂部"提供Hotfix下載"部分。如果未顯示此節,請聯絡 Microsoft 客戶服務和支援,以擷取此修複程式。

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

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

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

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

  先決條件

  您必須具有要應用此Hotfix安裝的 SQL 伺服器 2005 Service Pack 1。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。