2010-07-16 53 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)。

相关问题