在视图中引用外部数据库?

时间:2010-10-26 09:07:24

标签: sql sql-server sql-server-2000

在我正在执行维护的项目中,我引用存储在另一台服务器上的数据库。此引用之前指向同一服务器上的数据库,但我的testbed服务器不够大,无法存储这两个数据库,因此我不得不返回实时数据库。

无论如何,创建此应用程序的人都使用了SQL视图,并且我发现在尝试编辑视图时,它无法引用外部数据库。

现有的参考是myDatabase.dbo.tableName。当我尝试将其更改为[MyServer.com].myDatabase.dbo.tableName时,远离编辑器会移除所有方括号,留下MyServer.com.myDatabase.dbo.tableName,这不是正确的表格引用。

我有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

看起来你已经添加了一个名为“MyServer.com”的链接服务器。我建议你将它重命名为没有点的东西,MyServerCom就可以了。如果链接服务器中的详细信息指向恰好位于该地址的服务器,则可以。

然后四部分名称可以是MyServerCom.myDatabase.dbo.tableName

答案 1 :(得分:0)

不要在Enterprise Manager中编辑视图定义 - 使用查询分析器为ALTER的视图编写脚本,进行适当的更改,然后运行脚本。

企业经理做了一些相当讨厌的事情。如果您使用SSMS管理服务器/数据库,我同样建议编写ALTER脚本,而不是使用“设计”选项。