使用OPENROWSET,OPENQUERY为数据访问配置SQL Server实例

时间:2013-01-11 18:41:26

标签: windows-authentication sql-server-2012 openrowset openquery sql-authentication

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

我正在尝试遵循示例here,它们展示了如何使用存储过程作为数据源创建新的临时表。

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

   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进行身份验证的用户是否需要这些查询的单独版本?

1 个答案:

答案 0 :(得分:4)

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

EXEC sp_serveroption 'FOO\SQL2012', 'DATA ACCESS', 'true';