2

我读过很多网站、指南等;另请注意,我无法测试我的要求,因为没有两台计算机。

表分区仅仅意味着表在逻辑上被划分,使得特定范围仅由特定分区处理,方法是减少负载并允许并行性。

提到分区位于不同的硬盘上,但从未提及分区位于不同的计算机上。

那可能吗?

例如,id<50000 的数据将存储在一台计算机上,其余的将存储在另一台计算机上?

4

2 回答 2

3

SQL 2005 中引入的分区函数不支持此 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

于 2010-07-16T15:17:33.580 回答
1

跨计算机分发不是标准 SQL Server 的内置功能。 分区并没有真正减少负载或对并行性做任何比索引更好的事情。它确实提供了更轻松的交换分区的管理。分区可以存储在不同的文件组中,以便于存储管理。

现在有一个SQL Server 并行数据仓库设备产品(来自 DATAllegro 的收购)。

于 2010-07-16T15:18:16.183 回答