我正在爲網站使用SQL Server LocalDB。如何通過IIS啓動SQL Server LocalDB
安裝SQL Server LocalDB並創建數據庫。共享實例通過LocalDBCreateInstance,StartLocalDBInstance和LocalDBShareInstance創建。
如果實例啓動,網站可以成功連接到數據庫。
但是,如果實例停止,它不會自動啓動。從控制檯應用程序訪問數據庫(當實例停止時)會導致實例啓動。
所以這似乎是某種權限問題。
應用程序池在AppPool標識下運行。但將其切換到網絡服務或本地系統並不能解決問題。
應用程序池配置爲加載其用戶配置文件,並且「setProfileEnvironment」屬性也設置爲true。 (這兩個設置都需要按照here和here的描述)。
我監視了Sysinternal進程監視器的數據庫訪問,但未能找到任何「拒絕訪問」條目。
我也嘗試從網站本身(在Global.asax)調用StartLocalDBInstance。調用成功返回(返回值是S_OK),但實例仍然停止。
何其不幸。 –
我啓動了一個[CodePlex上的小工具](http://localdbcompanion.codeplex.com/)來簡化與默認應用程序池共享和啓動自動實例(稱爲「v11.0」)。它需要擴展以涵蓋自定義實例名稱和其他應用程序池。我只會建議在開發環境中使用它:-) –
奇怪。如果您可以在IIS中將「加載用戶配置文件」設置爲true,那麼它應該可以工作。此外,我認爲快遞幾乎不贊成LocalDB ... – dudeNumber4