Sql-Server

如何配置 IIS 10 以讀取本地 SQL 數據庫文件?

  • November 13, 2019

我一直在嘗試使用 MVC 模板部署原始 ASP .NET Web 應用程序,並通過本地 SQL 數據庫文件進行身份驗證。到目前為止,我可以讓它在我的電腦上執行。當我將它發佈到遠端伺服器上的文件夾時,我似乎無法弄清楚如何配置 IIS 10 以從保存到其 App_Data 子目錄的本地 SQL 數據庫文件中讀取。結果,我收到以下錯誤:

SQL 網路介面錯誤 52 - 無法找到本地數據庫執行時安裝。驗證 SQL Server Express 是否已正確安裝並且本地數據庫執行時功能是否已啟用。

我嘗試通過在遠端伺服器上安裝 SQL Server 2012 Express 來解決此問題,但問題仍然存在。所以我認為問題可能來自連接字元串:

數據源=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20180923034052.mdf;初始目錄=aspnet-WebApplication1-20180923034052;Integrated Security=True" providerName=“System.Data.SqlClient

以上是我電腦上的。由於我在遠端伺服器上將 SQL Server 配置為預設值,因此我認為我應該匹配 SQL Server 數據庫引擎的名稱,預設為 MSSQLSERVER,如下所示。它也沒有工作。

數據源=.\MSSQLSERVER;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20180923034052.mdf;初始目錄=aspnet-WebApplication1-20180923034052;Integrated Security=True” providerName=“System.Data.SqlClient

為了讓這個簡單的 ASP .NET Web 應用程序正常工作,我缺少什麼配置?

為了使項目創建的預設連接字元串正常工作,您需要在遠端伺服器上安裝SQL Server LocalDB 。它是與主要安裝分開的安裝。這是您可以下載Microsoft SQL Server 2012 LocalDB的連結

之後,通過IIS Manager將項目發佈到的目錄設置為使用本地系統作為其應用程序池。為此,請參考此處

  1. 點擊IIS 管理器中的應用程序池
  2. 點擊**添加應用程序池…**以創建一個新的應用程序池。使用您想要的任何設置和名稱。
  3. 選擇新的應用程序池後,點擊Advanced Settings…並通過點擊…將****Identity更改為Local System它位於內置帳戶下的下拉菜單中。
  4. 點擊確定保存並關閉所有彈出視窗並返回到IIS 管理器
  5. 選擇項目發佈到的目錄,然後點擊高級設置…。
  6. 將應用程序池更改為新創建的應用程序池,然後點擊確定完成。

請注意,保持應用程序池作為****本地系統執行是不切實際的,如此所述,但足以用於測試目的。

引用自:https://serverfault.com/questions/932465