【发布时间】:2010-03-03 20:37:07
【问题描述】:
我正在编写一个脚本,它应该在一堆服务器上运行并从中选择一堆数据,包括本地服务器。选择我需要的数据所需的 SQL 非常复杂,所以我正在编写一种临时视图,并使用 OPENQUERY 语句来获取数据,所以最终我最终会遍历这样的语句:
exec('INSERT INTO tabl SELECT * FROM OPENQUERY(@Server, @AdHocView)')
但是,我听说在本地服务器上使用 OPENQUERY 是不受欢迎的。有人可以详细说明为什么吗?
【问题讨论】:
-
这是一个管理脚本,所以我不担心权限问题。具体来说,我的问题是,当脚本遍历服务器列表并运行到它自己的服务器名称时,是否有任何顾虑?这通常会抛出一个错误,服务器未配置数据访问,可以通过 EXEC sp_serveroption 'LocalServer', 'DATA ACCESS', TRUE 来纠正
标签: sql sql-server sql-server-2005 tsql openquery