2010-07-15 119 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