我已經構建了一個ASP.NET MVC 2網站,我使用IIS 7.0與Rackspace Cloud Server一起託管。如何設置SQL Server/IIS 7.0以允許ASP.NET MVC網站訪問數據庫?
當我嘗試在服務器上使用IIS 7.0在localhost下測試網站時,我收到一個錯誤頁面。這來自於SQL日誌(我使用SQL網絡版):
Error: 18456, Severity: 14, State: 11
Login failed for user 'IIS APPPOOL\DefaultAppPool'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>]
我的網站作品在我的家用電腦精做的問題是事做與數據庫的連接。
已經研究了錯誤消息代碼,它表明我有一個有效的數據庫登錄但服務器訪問失敗。我做了解決此閱讀各種論壇和這裏棧是什麼,我都試過了,沒有一個已經解決了這個問題(包括計算器/ serverfault。):
使用SQL Server身份驗證設置新的登錄。我在SQL中創建了一個新的登錄名並賦予我的數據庫正確的訪問權限。我在web配置中使用了以下連接字符串:
Data Source = myServer; Initial Catalog = myDB; User Id = myUsername; Password = myPassword;
創建新登錄爲
IIS APPPOOL\DefaultAppPool
。我使用正確的訪問權限在SQL中創建了新的登錄並使用了Windows身份驗證。連接字符串如下:Server = myServer; Database = myDataBase; Trusted_Connection = True;
使用現有網絡登錄
NT AUTHORITY\NETWORK SERVICE
。我用正確的訪問權限將這個用戶映射到我的數據庫。連接字符串如下:Server = myServer; Database = myDataBase; Trusted_Connection = True;
這些問題是我在網上閱讀材料時的主要選項。最後,這裏的一些其他的東西,可能會有所幫助:
- 設置SQL來以管理員身份運行沒有解決不了的問題
- 關閉
UAC
沒有幫助 - 我的應用程序池使用ApplicationPoolIdentity(最好出於安全原因)
總之,我的網站不會啓動,因爲它無法從數據庫中獲取對象,因此引發錯誤。問題在於對服務器的訪問權限設置不正確。我無法弄清楚我需要什麼配置的SQL登錄/連接字符串/域訪問權限。
這讓我煩了3個星期 - 請問您可以騰出5分鐘來幫助我嗎?
你能發佈你當前的連接字符串嗎?我假設你正在連接集成安全性,因此AppPoolIdentity用於連接到SQL Server。此外,請提及您的Web和SQL Server是否在Active Directory安裝中運行。 –
使用:'Source = SetsOfSix;初始目錄= SetsOfSix;集成安全= SSPI;'。讓我去檢查活動目錄設置的問題... –
在IIS上沒有安裝「Active Directory域服務」。如何檢查Web和sql服務器是否在Active Directoty安裝中運行? –