gpt4 book ai didi

sql-server - 如何通过 IIS 启动 SQL Server LocalDB

转载 作者:行者123 更新时间:2023-12-02 03:23:07 25 4
gpt4 key购买 nike

我正在为网站使用 SQL Server LocalDB。

已安装 SQL Server LocalDB 并在安装过程中创建数据库。共享实例是通过 LocalDBCreateInstanceStartLocalDBInstanceLocalDBShareInstance 创建的。

实例启动后,网站可以成功连接数据库。

但是,如果实例停止,它不会自动启动。从控制台应用程序访问数据库(当实例停止时)会导致实例启动。

所以这似乎是某种权限问题。

应用程序池在 AppPool 标识下运行。不过,将其切换到网络服务或本地系统并不能解决问题。

应用程序池配置为加载其用户配置文件,并且“setProfileEnvironment”属性也设置为 true。 (如 herehere 中所述,这两个设置都是必需的)。

我已使用 Sysinternal Process Monitor 监视数据库访问,但未能找到任何“访问被拒绝”条目。

我还尝试从网站本身(在 Global.asax 中)调用 StartLocalDBInstance。调用成功返回(返回值为S_OK),但实例仍处于停止状态。

最佳答案

这就是在 IIS 下使用 LocalDB 的缺点 - 实例由您的交互式登录拥有,并且实例进程只能由此登录启动。由于 IIS 作为某个服务帐户运行,因此它无法启动属于您的交互式登录帐户的 LocalDB 实例。

您可能使用 IIS 服务帐户拥有的 LocalDB 实例,但请注意,您可能会遇到用户配置文件问题 - LocalDB 要求创建并加载用户配置文件,而 IIS 使用有时可能不完整的轻量级用户配置文件创建并加载。

有关在完整 IIS 中运行 LocalDB 的更详细讨论,请参阅这两篇博客文章。我只推荐它用于开发环境,并使用基于服务的 SQL Express 进行生产。

  1. Part 1: User Profile
  2. Part 2: Instance Ownership

关于sql-server - 如何通过 IIS 启动 SQL Server LocalDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com