Readme_PartitioningScript
PartitioningScript 示例的目的是说明 SQL Server 2005 的表和索引的分区功能。有关此新功能的信息,请参阅 SQL Server 联机丛书中的“已分区的表和索引”。
重要提示: |
---|
提供的示例仅供学习使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。未经系统管理员允许,不得将示例应用程序与生产 SQL Server 数据库相连或一起使用。 |
应用场景
在 AdventureWorks 示例数据库中,TransactionHistory 表用于记录每个销售订单、采购订单和工作订单事务。因此,此表是数据库中访问次数最多、访问量最大的表之一。创建 TransactionHistoryArchive 表的目的是为了存储 TransactionHistory 表中旧的事务。数据以月为基础传输至 TransactionHistoryArchive 中进行其他分析,以使 TransactionHistory 保持在适当小的状态并且只维护当前数据。
若要为这些表创建分区,示例需要执行以下操作:
- 在 TransactionHistory 表的 TransactionDate 列上创建分区函数 TransactionRangePF1,以便使每个分区都包含一个月的数据。
- 创建分区方案 TransactionsPS1 以便将分区映射至文件组。在此示例中,所有分区都位于同一文件组中。
- 删除并重新创建 TransactionHistory 表并将分区方案 TransactionsPS1 指定为此表的位置。
- 在 TransactionHistoryArchive 表的 TransactionDate 列上创建分区函数 TransactionRangePF2。
- 创建分区方案 TransactionsPS2 以便将分区映射至文件组。在此示例中,所有分区都位于同一文件组中。
- 删除并重新创建 TransactionHistoryArchive 表并将分区方案 TransactionsPS2 指定为此表的位置。
- 向这两个表大容量插入数据。
在表之间进行的数据的月“块区”传输通过在这两个表之间切换分区来执行。通常这只需要几秒种,而不是早期版本中的几分钟或几小时,因为它只是元数据操作而不是数据的物理重定位。分区切换在 SlidingWindow 示例中说明。
语言
Transact-SQL
必备组件
在运行此示例之前,请安装 SQL Server 2005 并确保包括以下组件:
- 数据库引擎
- SQL Server Management Studio
- AdventureWorks (OLTP) 示例数据库,它随 SQL Server 2005 提供,也可以从 Microsoft SQL Server Developer Center 获取。
- SQL Server 数据库引擎示例。这些示例包含在 SQL Server 2005 中。您可以从 Microsoft SQL Server 开发人员中心下载这些示例的最新版本。
运行示例
以下过程显示了如何运行 PartitioningScript 示例。
运行 PartitioningScript 示例
- 在 SQL Server Management Studio 中,打开文件 PartitionAW.sql。默认安装目录为 C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\Partitioning\Scripts,再单击**“执行”**。
请参阅
任务
其他资源
已分区表和已分区索引
在 AdventureWorks 示例数据库中分区