平台: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的新手,请以最简单的方式指导我们。
提前致谢!
答案 0 :(得分:2)
您的连接字符串很可能表示集成身份验证(integrated security=true
),这意味着工作进程的身份正在尝试连接到数据库。
问题是您没有以明确的方式设置身份,或者您将其设置为Network Service
内置帐户。
此帐户未列为允许访问数据库。
您有两种选择:
添加网络服务访问数据库的权限(不推荐)
在服务器的操作系统(或域帐户,如果您有目录)中创建单独的标识(用户),并将标识分配给IIS中的应用程序池(以便ASP。 NET进程在此帐户下运行)并授予此用户访问数据库的权限。
更多相关内容:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities