2010-07-15 75 views
0

我想了解一下关于SQL Server 2008R2 express的最佳方法。我有许多在同一台服务器上的独立数据库中的应用程序。它们都是使用中央人员/结构列表的“插件”,这些列表将位于单独的数据库中。该应用程序正在从JET迁移过程中。数据库之间的链接表

我正在寻找的是所有的“插件”的数据库能够看到中央数据库和标准查询和视图等

由于我使用的快递使用这些表的最佳方式排除任何复制解决方案,到目前为止,我能想到的唯一选择是使用触发器或存储过程来“推出”插件的所有更改。这些信息需要在接近实时的基础上进行填充,但每天更改的数量可能会很小,最多可达100个,而目前最大的表格只有大约1000行(员工姓名表格)。

希望这将覆盖所有的一切,但如果有人需要更多的细节,然后就问

感谢

回答

2

道歉,如果我误解了,但是从你的描述,它听起来就像所有这些数据库上托管SQL Server的相同实例 - 这是您提到的复制,使我不确定。假设是这种情况,你应该能够用中间数据库中的所有保存在“插件”数据库中的表的副本替换为直接引用中央表的视图或同义词,因为SQL服务器允许你创建例如,如果每个插件数据库都有一个表StaffNames,那么可以通过删除该表替换该视图,然后创建一个包含数据库名称查看:

drop table StaffNames 
go 

create view StaffNames 
as 
select * from <centraldbname>.<schema - probably dbo>.StaffNames 
go 

和你的代码应该con只要权限设置完成,就可以无缝工作。

或者,您可以用三部分对中央数据库的名称引用替换插件数据库中共享表的所有引用,但view方法需要较少的工作。

+1

是的,就是这样。我深深地意识到每个DB都必须拥有自己的表格副本,我完全忽略了这一点。我对SQL服务器很陌生,不知道你可以像这样链接表。再次感谢您的帮助 – 2010-07-15 13:16:30