net core 部署到IIS后,初始化CodeFirst 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。

背景:开发了一个net core webapi程序,VS调试的时候一切正常。当部署到IIS后,出现了标题的问题:“System.Data.SqlClient.SqlException (0x80131904): 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。”

检查了连接字符串,检查了数据库设置都没错,网上查了很多解决方案都无效。

直接说解决方案:

1、当我们net core项目部署到IIS后,我们有一个操作是修改网站对应的应用程序池。设置:“无托管代码”。

net core 部署到IIS后,初始化CodeFirst 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。_第1张图片

2、当然问题还没解决,步骤1只是net core部署到IIS必须的操作。如果出现标题中的问题,或者下面的问题:

“System.Data.SqlClient.SqlException (0x80131904): 无法打开登录所请求的数据库 "******"。登录失败。
用户 'IIS APPPOOL\AIP_API' 登录失败。”

在我们的应用程序池-“高级设置”里-“进程模型”-“标识”,

net core 部署到IIS后,初始化CodeFirst 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。_第2张图片

根据你项目的现实情况修改标识为“LocalService”、“LocalSystem”或“NetWorkService”,问题迎刃而解。

net core 部署到IIS后,初始化CodeFirst 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。_第3张图片

你可能感兴趣的:(net core 部署到IIS后,初始化CodeFirst 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。)