IIS 7.5 连接 Visual Studio 2017 LocalDB

重装了系统,实在不想在折腾 MSSQL 那庞大的身躯了,只是想简简单单使用 LocalDB,但是在发布网站时,碰到了 IIS 连接 LocalDB 的问题,经过几个小时的折腾,完美方案如下:

总体步骤

  1. 用管理员运行命令行窗口
  2. 使用 sqllocaldb 命令对 LocalDB 进行共享
  3. 在 VS 的 SQL 查询窗口中,将对应的 IIS 应用程序池添加到数据库的管理员角色中
  4. 重启电脑(这一步很重要,因为重启后,共享的结果才生效)
  5. 修改连接字符串
  6. 一切照旧

开始详细步骤:

首先,用管理员身份运行命令行窗口,输入以下命令:

sqllocaldb share MSSQLLocalDB MyDB

// 如果想停止共享,输入以下命令
// sqllocaldb unshare .\MyDB

回车后,可以看到创建成功的标志。

然后,开始添加 IIS 的应用程序池到数据库的管理员角色中,依次输入以下 SQL 脚本,每输完一句脚本,请执行以下。

// 创建登录账号
create login [IIS APPPOOL\ASP.NET v4.0] from windows;

// 添加到管理员角色中
exec sp_addsrvrolemember N'IIS APPPOOL\ASP.NET v4.0', sysadmin

注:根据自己的 IIS 应用程序池来进行添加。

这时,一定要记住:重启电脑!

重启完之后,用任意连接工具(VS2017 自带的 SQL 对象资源管理器、Navicat、等),测试连接。

服务器(主机名):(localdb)\.\MyDB
验证:Windows 验证

一般来说,直接可以测试成功,然后修改数据库连接字符串即可,如下所示:

Data Source=(localdb)\.\MyDB;AttachDbFileName=D:\xxxx.mdf;Integrated Security=True

// 以下链接字符串,不知道是配置原因还是什么,一直没有连接成功,
// 所以,最终采用了上面(指定 MDF 文件)的连接字符串。

// Data Source=(localdb)\.\MyDB;Initial Catalog=xxxx;Integrated Security=True

至此,全部完成。

你可能感兴趣的:(IIS 7.5 连接 Visual Studio 2017 LocalDB)