2010-08-23 250 views
6

我的本地(和远程)SQL Server 2005管理员声称“允许链接服务器是一个安全问题”,并禁止在此处使用它们。 (嗯?)SQL服务器:链接服务器没有链接服务器?

无论如何,有没有办法做类似的事情没有链接服务器?

SELECT * 
FROM LOCAL_SERVER.MyDatabase.dbo.MyTable AS t1 
INNER JOIN REMOTE_SERVER.MyDatabase.dbo.MyTable AS t2 
ON t1.MyField = t2.MyField 
+1

要求您的管理员复制数据库或将数据库镜像到本地服务器? – StuartLC 2010-08-23 20:36:13

+4

如果他们要禁止某些事情,他们应该准备好推荐和支持替代方案。 2010-08-23 20:39:52

+2

@Joe Stefanelli,男孩你在那里。我会让他们想出替代方案,如果他们不这样做,我会升级问题。 – HLGEM 2010-08-23 21:06:03

回答

4

是的,你可以使用OPENDATASOURCE但即席查询必须启用

OPENDATASOURCE:提供ad hoc连接信息作为四部分组成的对象名称的一部分,无需使用链接的服务器名称。

+0

+1:我试图找到OPENDATASOURCE和OPENROWSET之间的区别 - 很少,只是OPENROWSET支持批量操作... – 2010-08-23 20:47:52

+0

是OPENROWSET在2005年增加了XML的批量IIRC – SQLMenace 2010-08-23 20:55:06

8

你可以使用OPENROWSET,which'll所需的连接信息,用户名密码& ......

虽然我明白,管理员认为,有一个永远在线的连接,将他们的数据是有风险的,这就是为什么你锁定帐户。 OPENROWSET意味着以明文形式包含连接信息。