Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server .NET核心实体框架获取用户运行存储过程_Sql Server_Asp.net Core_Stored Procedures_Entity Framework Core - Fatal编程技术网

Sql server .NET核心实体框架获取用户运行存储过程

Sql server .NET核心实体框架获取用户运行存储过程,sql-server,asp.net-core,stored-procedures,entity-framework-core,Sql Server,Asp.net Core,Stored Procedures,Entity Framework Core,我有一个ASP.NET核心Web API正在运行,它是在Windows身份验证下运行的。我有使用connectionstring语法处理数据库的实体框架: "data source=dbserver;initial catalog=IntranetDB;persist security info=True;Integrated Security=SSPI;" 我的Web API在特定的应用程序池和服务帐户下运行:sau db 此sa_db是数据库的所有者,并已启用批量加载 API中的一个进程是

我有一个ASP.NET核心Web API正在运行,它是在Windows身份验证下运行的。我有使用connectionstring语法处理数据库的实体框架:

"data source=dbserver;initial catalog=IntranetDB;persist security info=True;Integrated Security=SSPI;"
我的Web API在特定的应用程序池和服务帐户下运行:
sau db

sa_db
是数据库的所有者,并已启用
批量加载

API中的一个进程是将
.csv
文件保存到网络共享,然后调用SP打开此文件并对其执行操作

问题

在进行一些更改(如将以下内容添加到SP)后,我们遇到了一些有关权限的问题(拒绝访问):

WITH EXECUTE AS OWNER
我们得到了一个例外:

System.Data.SqlClient.SqlException (0x80131904): You do not have permission to use the bulk load statement.
但是
sau db
已启用此功能

当我们将使用API的AD用户的安全组添加到启用了
bulkload
的SQL数据库时,一切都正常了

查看SQL的活动监视器,我只看到
sau db
帐户


为什么SP在AD用户下运行时使用的是API而不是服务帐户?

但是sa_db启用了此功能
-但是
sa_db
是过程的核心吗?哇,好!确实是另一个用户!!我在我的帐户下手动运行脚本。谢谢@格斯伯格:把这个问题转化为一个答案,这样所有者就可以把它标记为正确的。