开发者社区> 问答> 正文

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

当前,我们有一个运行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用户需要对“主”数据库上的某些资源具有权限,就我们所见,甚至在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.

展开
收起
祖安文状元 2020-01-03 16:27:10 1095 0
1 条回答
写回答
取消 提交回答
  • 抱歉,RDS不支持OLE自动化。如果您绝对必须使用这些存储过程,则必须在EC2上运行自我管理的SQL Server。

    2020-01-03 16:27:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像