是否可以在我的数据库服务器中创建另一个服务器数据库表的视图?
假设您有一个数据库调用Testing
并且server1
您有另一个数据库Testing2
在server2
. 是否可以在数据库中创建Testing2
表视图?Table2
server1
Testing
另外,我使用的是 SQL Server 2008。
请让我知道,如果你有任何问题。
谢谢,
是否可以在我的数据库服务器中创建另一个服务器数据库表的视图?
假设您有一个数据库调用Testing
并且server1
您有另一个数据库Testing2
在server2
. 是否可以在数据库中创建Testing2
表视图?Table2
server1
Testing
另外,我使用的是 SQL Server 2008。
请让我知道,如果你有任何问题。
谢谢,
是的你可以。首先,您需要使用类似sp_addlinkedserver
.
然后,您可以使用 4 部分命名访问数据。这是一个例子:
create view v_server1_master_tables as
select *
from server1.master.information_schema.tables;
可以通过链接服务器。但是,我不鼓励您基于来自另一台服务器的表创建视图,因为每次使用此视图时,很可能会从链接服务器中选择整个表 - 优化器可能不知道此表结构来发出任何过滤器。我在工作中看到过它,没有人知道select * from
大表上的查询来自哪里,这会减慢数据库的速度,而且它似乎在另一个服务器的某个地方被使用,在一个简单的查询中。至少您应该检查您的解决方案是否不会导致上述问题。也许其他人可以详细说明优化器在处理链接服务器时的行为方式?