2010-07-16 74 views
2

我讀過很多網站,指南等;還要注意我無法測試我所要求的,因爲沒有兩臺電腦。Sql服務器表分區 - 我可以在服務器之間分配表嗎?

表分區僅僅意味着表在邏輯上是分開的,這樣一個特定的分區只能通過減少負載並允許並行性由特定分區處理。

有一個提到分區在不同的硬盤上,但從來沒有提到分區在不同的計算機上。

這可能嗎?

因此,例如,編號爲< 50000的數據將存儲在一臺計算機上,其餘的將存儲在另一臺計算機上?

回答

3

在2005年推出的SQL不支持此AFAIK分區功能

當您創建聯盟分區視圖,您必須使用鏈接的服務器做很可能

例如在服務器1

create view MyView 
as 
Select * from Database.dbo.Table1 
union all 
Select * from Server2.Database.dbo.Table1 
在服務器2上

create view MyView 
as 
Select * from Database.dbo.Table1 
union all 
Select * from Server1.Database.dbo.Table1 

在每個服務器,你會再有這種說法...但是,(這是一個很大的但是)如果其中一臺服務器宕機的視圖將在所有服務器上不可用

也看看這個鏈接:http://blogs.msdn.com/b/sqlcat/archive/2007/06/20/distributed-partitioned-views-federated-databases-lessons-learned.aspx

1

跨計算機分佈不是標準SQL Server的內置功能。 Partitioning並不真正減少負載或做任何比索引更好的並行性。它提供了更簡單的管理交換分區的輸入或輸出。分區可以存儲在不同的文件組中,以便於存儲管理。

現在有一個SQL Server Parallel Data Warehouse家電產品(來自收購DATAllegro)。