【发布时间】:2012-12-07 10:45:50
【问题描述】:
我正在为网站使用 SQL Server LocalDB。
安装 SQL Server LocalDB 并在安装过程中创建数据库。通过LocalDBCreateInstance、StartLocalDBInstance 和LocalDBShareInstance 创建共享实例。
如果实例启动,网站可以成功连接数据库。
但是,如果实例停止,它不会自动启动。从控制台应用程序访问数据库(当实例停止时)会导致实例启动。
所以这似乎是某种权限问题。
应用程序池以 AppPool 身份运行。但是,将其切换到网络服务或本地系统并不能解决问题。
应用程序池配置为加载其用户配置文件,并且“setProfileEnvironment”属性也设置为 true。 (如here 和here 所述,这两个设置都是必需的)。
我已使用 Sysinternal Process Monitor 监控数据库访问,但未能找到任何“拒绝访问”条目。
我还尝试从网站本身(在 Global.asax 中)调用 StartLocalDBInstance。调用成功返回(返回值为S_OK),但实例仍然停止。
【问题讨论】:
标签: sql-server iis localdb