2012-09-04 43 views
0

我有一個很大的SQL Server 2012數據庫。如何將數據庫分成更小的數據庫

我想把它分成偏好和數據。

不過,我發現,SQL服務器似乎並不支持將數據分成面向對象的數據庫的想法。它似乎依賴於在同一個數據庫中的所有東西。

例如數據庫不支持外鍵。跨數據庫連接也是一件非常痛苦的事情。

某人通常會這樣做嗎?這是否只是SQL Server的限制,我應該對所有內容使用相同的數據庫?

+1

定義*大* ... –

+0

這可能是「做錯事」的經典案例。你爲什麼要爲自己和將繼承這個系統的人做這樣的事情? – trailmax

回答

2

SQl服務器提供分區功能。按照wikipedia

分區是一個邏輯數據庫或其構成要素到不同的獨立部件的一個部門。數據庫分區通常可管理性,性能和可用性的原因而作出

1.Horizontal partitioning 
2.Vertical partitioning 

Each has it is own file group.it can be configured 

訪問這個鏈接應該幫助

MSDN

SQLAuthority

我相信有很多的那裏有教程。

0

SQL Server是一個關係數據庫,所以真的不應該是一個預期,這將支持一個完全不同的架構由對象或面向對象的數據庫暗示。

我不明白您的評論說,「外鍵不在數據庫支持。」外鍵都是SQL Server中完整性約束的一部分,並且有關如何創建它們的詳細說明可用here

我想您可能想要更具體地瞭解您嘗試分離的數據類型,以及爲什麼你想把它們放在物理上獨立的數據庫中。對問題的細化可能會幫助我們提供更好的答案。

+0

不確定SQL Server,但Oracle允許定義其中每個記錄也是對象的對象表。記錄的字段是對象的屬性,將對象數據庫和關係數據庫非常集中在一起。 – GolezTrol

1

Wut ?!它是一個單獨的數據庫,當然沒有FK限制。接下來是什麼,在您的桌面上文檔的外鍵約束?

如果將兩個數據庫之間的引用完整性和交易,也不會它實際上只是一個數據庫?

你應該問自己究竟是什麼問題。你爲什麼要分割你的數據庫?與不相關的數據之間的完整性相關性足以將其移至不同的數據庫的相關性如何?

而且你想後一點關於這一點,你需要閱讀了很多關於什麼是數據庫實際上是,你如何獲得在其他許多方面的性能和靈活性。數據庫優化是一種不容易學習的技術,「分裂數據庫」幾乎不是解決方案。

相關問題