2010-08-23 294 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意味着以明文形式包含連接信息。