【发布时间】:2010-01-06 22:13:51
【问题描述】:
我在尝试从存储过程中执行 xp_cmdshell 时看到一条错误消息。
xp_cmdshell 已在实例上启用。并且已向我的用户授予了执行权限,但我仍然看到异常。
对象“xp_cmdshell”、数据库“mssqlsystemresource”、模式“sys”的执行权限被拒绝
部分问题在于这是一个共享集群,并且我们在实例上只有一个数据库,因此我们没有完整的管理员权限。所以我无法进入并授予权限,等等。
【问题讨论】:
-
你为什么要使用有史以来最危险的存储过程? (
xp_cmdshell) -
这是旧代码,目前没有时间重写。我们使用它来调用 BCP 将文件导入临时表进行处理。临时表是动态sql,我们根据动态sql使用的相同逻辑生成.fmt文件。重新实现这一点需要一天多的时间。
-
您能否发布确切的 SQL Server 版本号,包括内部版本号?
-
SQLServer 2005,9.00.3042.00,企业版,64 位
-
是否可以在您的系统上运行此查询并发布返回的日期?
select expiry_date from master.sys.certificates where name = '##MS_SQLResourceSigningCertificate##'
标签: sql-server database xp-cmdshell