我读过很多网站、指南等;另请注意,我无法测试我的要求,因为没有两台计算机。
表分区仅仅意味着表在逻辑上被划分,使得特定范围仅由特定分区处理,方法是减少负载并允许并行性。
提到分区位于不同的硬盘上,但从未提及分区位于不同的计算机上。
那可能吗?
例如,id<50000 的数据将存储在一台计算机上,其余的将存储在另一台计算机上?
我读过很多网站、指南等;另请注意,我无法测试我的要求,因为没有两台计算机。
表分区仅仅意味着表在逻辑上被划分,使得特定范围仅由特定分区处理,方法是减少负载并允许并行性。
提到分区位于不同的硬盘上,但从未提及分区位于不同的计算机上。
那可能吗?
例如,id<50000 的数据将存储在一台计算机上,其余的将存储在另一台计算机上?
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
跨计算机分发不是标准 SQL Server 的内置功能。 分区并没有真正减少负载或对并行性做任何比索引更好的事情。它确实提供了更轻松的交换分区的管理。分区可以存储在不同的文件组中,以便于存储管理。
现在有一个SQL Server 并行数据仓库设备产品(来自 DATAllegro 的收购)。