1

我在运行Windows 7 x-64的独立非联网开发PC上安装了SQL Server 2012完整版本。假设FOO是我的PC的名称,并且我的SQL Server命名实例是FOO \ SQL2012。使用OPENROWSET为数据访问配置SQL Server实例,OPENQUERY

我想下面的例子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验证的身份验证的不同版本?

回答

4

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

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

感谢大家的帮助。 – Tim