【问题标题】:LocalDB Connection IssueLocalDB 连接问题
【发布时间】:2015-08-06 15:15:39
【问题描述】:

我一直在尝试连接到 LocalDB。我一直在关注两部分 article 在我的开发工作站上处理这个问题。在文章第二部分中,我选择了第二个选项,即创建 LocalDB 的共享实例,并得到以下运行时错误为 YSOD:

Cannot open database "DTC" requested by the login. The login failed.
Login failed for user 'IIS APPPOOL\DTC'.

DTC 是 Web 窗体应用程序的名称和 IIS 中应用程序池的名称。

按照文章中创建共享实例的步骤,我为 ApplicationPoolIdentity 创建 SQL Server 登录,如下所示:

create login [IIS APPPOOL\DTC v4.0] from windows;
exec sp_addsrvrolemember N'IIS APPPOOL\DTC v4.0', sysadmin

然后在 SQL Server 对象资源管理器中执行查询时出现以下错误:

Msg 15401, Level 16, State 1, Line 1
Windows NT user or group 'IIS APPPOOL\DTC v4.0' not found. Check the name again.
Msg 15007, Level 16, State 1, Procedure sp_addsrvrolemember, Line 33
'IIS APPPOOL\DTC v4.0' is not a valid login or you do not have permission.

我在 Windows 8.1 上使用 VS2013 和 SQL Server 2012。无法相信设置 LocalDB 有多么困难。我实际上想要做的是将身份成员资格添加到现有的 Web 表单应用程序中,并愿意接受任何建议......

【问题讨论】:

    标签: asp.net iis webforms localdb sql-server-2012-localdb


    【解决方案1】:

    爱尔兰酋长, 我不建议为此目的使用 LocalDB。如果你真的想要一个轻量级的数据库来管理成员,你最好的选择是 SQL Express。

    LocalDB 旨在用于开发,而不是用于生产。

    【讨论】:

    • 这实际上是在我的开发工作站上——最终我会迁移到实时服务器上的 SQL Server Web 版。
    • 好的,如果在您的开发机器上,请尝试使用 IIS Express,您将使用登录用户访问数据库。其他选项是更改本地开发的连接字符串。
    • 不想使用 Express。如果失败,则必须在开发机器上恢复到 SQL Server 2012...
    • 我说的是 IIS Express 而不是 SQL Express... 在我的开发机器上,我总是将 IIS Express 与 SQL Express 一起使用,有时使用 Local DB 但不喜欢。但是每次我使用 Local DB 时,身份验证都没有问题,因为我使用我的帐户而不是 IIS APPOOL 帐户运行 IIS Express。
    【解决方案2】:

    最简单的解决方案是以我的 Windows 身份登录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      相关资源
      最近更新 更多