Sql 查询存储过程的结果集

Sql 查询存储过程的结果集,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,是否可以查询存储过程的结果集 我只有一个存储过程的执行权限,当我运行存储过程时,它会显示数百万行。我需要查询存储过程的结果集 最有效/最简单的方法是什么 仅供参考,我使用的是SQL Server 2012。如果您知道结果是什么样的,那么可以将其放入表中。首先创建表,然后使用exec()或exec sp\u executesql 例如: declare @lines table (id int identity(1, 1) primary key, line varchar(8000)); in

是否可以查询存储过程的结果集

我只有一个存储过程的执行权限,当我运行存储过程时,它会显示数百万行。我需要查询存储过程的结果集

最有效/最简单的方法是什么


仅供参考,我使用的是SQL Server 2012。

如果您知道结果是什么样的,那么可以将其放入表中。首先创建表,然后使用
exec()
exec sp\u executesql

例如:

declare @lines table (id int identity(1, 1) primary key, line varchar(8000));

insert into @lines(line)
    exec sp_executesql N'sp_helptext ''information_schema.tables''';

select *
from @lines
order by id; 

如果启用了您可以使用的临时分布式查询,这可能会有所帮助。最有效的方法是编写一个只返回所需数据的查询。谢谢。让我试试使用openrowset。Martin,我没有访问表的权限。我必须从存储的过程结果中进行查询。如果openrowset不起作用,另一个选项是插入。。。exec将结果输入表格变量或临时表格,然后从中选择。