1

我在运行 Windows 7 x-64 的独立非联网开发 PC 上安装了 SQL Server 2012 完整版。假设 FOO 是我的 PC 的名称,而我的 SQL Server 命名实例是 FOO\SQL2012。

我正在尝试按照此处的示例进行操作,这些示例显示了如何使用存储过程作为数据源来创建新的临时表。

我想执行这些查询中的任何一个,但我得到了显示的错误。

   SELECT * into #temp FROM OPENQUERY("FOO\SQL2012", 'exec MySchema.MyStoredProc')

   **ERROR: Server 'FOO\SQL2012' is not configured for DATA ACCESS.**

或此查询:

  SELECT * INTO #temp FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2012;Trusted_Connection=yes;',
 ' EXEC MySchema.MyStoredProc')

 **ERROR: Msg 11529, Level 16, State 1, Procedure sp_describe_first_result_set, Line 1

无法确定元数据,因为每个代码路径都会导致错误;请参阅其中一些以前的错误。**

我将如何配置 SQL Server 实例以允许当前经过身份验证的用户(无论它可能是谁)对本地实例使用 OPENROWSET、OPENQUERY?

通过 Windows 进行身份验证的用户和通过 SQL Server 进行身份验证的用户是否需要这些查询的不同版本?

4

1 回答 1

5

每个链接服务器只需要执行一次此操作(我建议始终引用FOO\或始终引用(local)\......保持一致!)。

EXEC sp_serveroption 'FOO\SQL2012', 'DATA ACCESS', 'true';
于 2013-01-11T18:59:53.017 回答