我正在尝试在IIS上部署我的第一个ASP.NET应用程序,但是每当我连接到数据库时,我都会遇到一个问题。连接到数据库可以在Visual Studio上正常运行该应用程序。
我不断收到以下内容:
SqlException:无法打开登录请求的数据库“ RazorPagesMovieContext-ae4522b8-14f6-4dd9-9e71-fb8009d965ad”。登录失败。
用户'NT AUTHORITY \ NETWORK SERVICE'登录失败。
我的连接字符串如下所示:
<add name="LocalSqlServer"
connectionString="Server=(localdb)\MSSQLLocalDB;Database=RazorPagesMovieContext-ae4522b8-14f6-4dd9-9e71-fb8009d965ad;Integrated Security=true"
providerName="System.Data.SqlClient" />
[就像本文中的文章所述:https://docs.microsoft.com/en-us/archive/blogs/sqlexpress/using-localdb-with-full-iis-part-2-instance-ownership我已经尝试了方法的#1“以Windows用户身份运行IIS”和#2“使用LocalDB共享实例”,但是没有任何运气,所以我转而尝试使用NetworkService而不是我遇到相同错误的地方是ApplicationPoolIdentity(使用ApplicationPoolIdentity
失败,并带有
仅在不同用户下登录用户'IIS APPPOOL.NET v4.5'“)失败。
[在我的SQL Server Management Studio中,我创建了一个新用户,名称为“ NT AUTHORITY \ NETWORK SERVICE”,并确保已授予数据库“ db owner”权限,并勾选了所有服务器角色。大多数答案都指出授予权限,但这仍然无法解决我的问题。
任何见解将不胜感激
ConnectionString中的问题,您没有用于登录数据库的任何用户内容CS。
首先您必须为数据库添加用户,然后设置您的connectionString
两个选项
最终更改连接字符串
如果使用选项2
Server=(localdb)\MSSQLLocalDB;Database=RazorPagesMovieContext-ae4522b8-14f6-4dd9-9e71-fb8009d965ad; user=sa; password=yourPassword
**启用**