在 AdventureWorks 示例数据库中分区

SQL Server 2005 包含两个示例 Transact-SQL 脚本,它们可以在 AdventureWorks 示例数据库上运行以实现分区方案。有关如何安装和运行这两个脚本的信息,请参阅 Readme_PartitioningScriptReadme_SlidingWindow

第一个脚本 (PartitionAW.sql) 对 AdventureWorks 中的 TransactionHistoryTransactionHistoryArchive 表进行分区。TransactionHistory 表包含本年度的销售记录。此表主要用于插入新记录并根据需要对其进行更新。TransactionHistoryArchive 表包含本年度之前的销售记录。此表主要用于 SELECT 查询并用作将数据移入数据仓库的临时表。有关这些表的分区设计的详细信息,请参阅已分区表和索引的计划指南

在真实方案中,TransactionHistory 表和 TransactionHistoryArchive 表可能会成为数据库中两个最大的表。通过对这两个表进行分区,可以在它们之间管理每月数据的子集。每个月,最早一个月的数据都将从 TransactionHistory 表移动到 TransactionHistoryArchive 表。通过这种方式,TransactionHistory 表中的数据保持为最新以便进行 INSERT 和 UPDATE 操作,而较旧的数据都移动到 TransactionHistoryArchive 表以便进行擦除和分析。由于表已分区,表之间每月数据“块”的传输通常只需几秒,而在以前版本中要几分钟或几小时。这是因为现在只进行元数据操作,而不会对数据进行物理重定位。

第二个脚本 (Sliding.sql) 为一个月的数据实现了所谓的“滑动窗口”方案。有关此脚本如何工作的详细信息,请参阅设计分区以管理数据子集

请参阅

概念

已分区表和已分区索引概念

帮助和信息

获取 SQL Server 2005 帮助