如何在存储过程中开启Ad Hoc Distributed Queries组件
想在存储过程A中调用另一个存储过程B的结果集,因为结果集的列经常会增加,所以想用
select * into #tmp from OPENROWSET(
'SQLOLEDB',
'SERVER=server;uid=sa;pwd=sapwd;Database=master','SET FMTONLY OFF; exec 存储过程名') as a
这样的方式来插入,运行时提示需要开启开启Ad Hoc Distributed Queries组件。
开启
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
关闭
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
分别执行不报错,但是我想把这段语句放在存储过程A中,取完数据再关闭就不行。
1.直接执行存储过程“SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 ”,报这个错
2.先开启该组件,再执行存储过程可以执行成功。然后exec调用时又出现1中的报错,请问这个怎么解决?