Sql server 无法在AWS RDS的SQL Server上执行系统过程

Sql server 无法在AWS RDS的SQL Server上执行系统过程,sql-server,amazon-web-services,amazon-rds,Sql Server,Amazon Web Services,Amazon Rds,我们目前有一个运行SQL Server的Amazon RDS实例,我们遇到了一个问题,希望你们能提供帮助 我们正在尝试执行查询: Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT; 但它返回: Msg 229, Level 14, State 5, Procedure sp_OACreate, Line 1 [Batch Start Line 0] The EXECUTE permission was denied on the obje

我们目前有一个运行SQL Server的Amazon RDS实例,我们遇到了一个问题,希望你们能提供帮助

我们正在尝试执行查询:

Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
但它返回:

Msg 229, Level 14, State 5, Procedure sp_OACreate, Line 1 [Batch Start Line 0]
The EXECUTE permission was denied on the object 'sp_OACreate', database 'mssqlsystemresource', schema 'sys'.
经过一些研究,问题显然是执行它的SQL Server用户需要对“master”数据库中的某些资源拥有权限,而据我们所知,即使是AWS RDS上的“sa”用户也没有权限

除此程序外,我们还需要能够执行其他系统程序

你们知道有没有可能授予用户在AWS RDS上执行此操作的权限?如果是,如何解决

提前谢谢

编辑#1: 已尝试执行:

USE master;
GRANT EXEC ON sp_OACreate TO myuser;
GRANT EXEC ON sp_OAMethod TO myuser;
GRANT EXEC ON sp_OAGetProperty TO myuser;
GRANT EXEC ON sp_OADestroy TO myuser;
GRANT EXEC ON sp_OAGetErrorInfo TO myuser;
返回:

Msg 15151, Level 16, State 1, Line 4
Cannot find the user 'myuser', because it does not exist or you do not have permission.

PS:“myuser”用户存在。这些命令是由“sa”用户执行的。

根据AWS开发者论坛:

抱歉,RDS中不支持OLE自动化。如果您必须使用这些存储过程,那么您必须在EC2上运行一个自我管理的SQL Server


根据AWS开发者论坛:

抱歉,RDS中不支持OLE自动化。如果您必须使用这些存储过程,那么您必须在EC2上运行一个自我管理的SQL Server


From:“需要sysadmin固定服务器角色的成员身份或直接对此存储过程的执行权限。
Ole自动化过程
必须启用配置才能使用与Ole自动化相关的任何系统过程。”如果登录不应具有
sysadmin
权限,为其链接的
用户
在object@Larnu:问题是用我已经尝试过的内容编辑的(“编辑#1”)。请检查这是否是您的意思。如果允许您在任何托管SQL Server解决方案上运行此过程,我会非常惊讶,因为它基本上允许您在宿主管理的服务器上运行任意代码。谢谢,@DavidBrowne Microsoft。显然正是这样。我在下面的AWS开发者论坛中给出了这样一个答案:“需要sysadmin固定服务器角色的成员资格或直接对此存储过程执行权限。
Ole自动化过程
必须启用配置才能使用与Ole自动化相关的任何系统过程。”如果登录名不应具有
sysadmin
权限,请在object@Larnu:问题是用我已经尝试过的内容编辑的(“编辑#1”)。请检查这是否是您的意思。如果允许您在任何托管SQL Server解决方案上运行此过程,我会非常惊讶,因为它基本上允许您在宿主管理的服务器上运行任意代码。谢谢,@DavidBrowne Microsoft。显然正是这样。我在下面的AWS开发者论坛中给出了这样一个答案。