有关部署MVC应用程序的数据库问题

时间:2015-05-26 06:06:38

标签: asp.net sql-server asp.net-mvc visual-studio-2013 setup-deployment

平台:Windows 7与VS2013,Microsoft Server 2008 R2和Microsoft SQL Server 2012。

大家好日子。

我的合作伙伴和我最近创建了一个MVC应用程序,该应用程序在localhost中与计算机内的Microsoft SQL Server 2012中托管的本地数据库一起工作。

但现在我们想要做的是在网站上托管此应用程序,以便我们的用户使用该应用程序。
托管已经完成,我们设法显示首页,但问题在于服务器内与MS SQL Server 2012的数据库连接。

当我们检查SQL错误日志时,我们看到:
2015-05-26 12:04:38.26登录错误:18456,严重性:14,状态:  38.
2015-05-26 12:04:38.26用户' NT AUTHORITY \ NETWORK SERVICE'登录登录失败。原因:无法明确打开  指定数据库' HRMS.Models.EmployeeDBContext'。 [客户:< local machine>] 我是否可以就如何在服务器上设置MVC应用程序与服务器中安装的MS SQL 2012进行通信寻求一些建议?

我们都是MVC和ASP.Net的新手,请以最简单的方式指导我们。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您的连接字符串很可能表示集成身份验证integrated security=true),这意味着工作进程的身份正在尝试连接到数据库。

问题是您没有以明确的方式设置身份,或者您将其设置为Network Service内置帐户。

此帐户未列为允许访问数据库。

您有两种选择:

  1. 添加网络服务访问数据库的权限(不推荐)

  2. 在服务器的操作系统(或域帐户,如果您有目录)中创建单独的标识(用户),并将标识分配给IIS中的应用程序池(以便ASP。 NET进程在此帐户下运行)并授予此用户访问数据库的权限。

  3. 更多相关内容:

    http://www.iis.net/learn/manage/configuring-security/application-pool-identities