下载此文档

SQL SERVER 分区表的总结--分区表的维护和管理.pdf


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
小旭的技术博客
博观而约取, 厚积而薄发.
SQL SERVER 分区表的总结--分区表的维护和管理
分类: SQL Server 2013-02-17 12:15 101人阅读评论(0) 收藏举报
在依据需求建立好分区表之后,就要实现对分区表的管理维护。主要内容就是两点:
1.  利用滑动窗口方案(Sliding Window Scenario),实现分区表与数据移动中间表的互切。
2.  分区表本身的结构变更管理。
当然以上两点,都是理论上的点。我工作中主要是遇到两种需求:
1.  过时分区数据的快速归档管理:即把某些不活跃分区的数据切到数据归档的表中去。
2.  分区表由于数据增长需要添加新分区来处理数据:即已分区的表它所有的数据都会处于活动状态,需要新的分
区来承载新增的数据。
这两种需求将会在下面的代码体现出来。分区表沿用我上一篇中的表Product,但是这里称为Products。因为上一
篇中的表,测试系统在用,我不能移动数据,就只好克隆出一张表。
 创建一张表结构和主键聚集索引跟Products一模一样的表Products_Tmp(用来做数据移转的中间临时表);这张
表还必须跟要移出的分区位于同一个文件组(否则将不能应用Partition Switch进行快速切换)。
首先在新文件组上创建存档表Products_Archive,用于存档后面中间临时表的数据。
USE [master]
GO
ALTER DATABASE [TEST]
ADD FILEGROUP [FG_TEST_Products_Archive]
GO
ALTER DATABASE [TEST]
ADD FILE ( NAME = N'FG_TEST_Products_Archive_data_1',
FILENAME = N'D:\Data\' ,
SIZE = 50MB ,
FILEGROWTH = 10% )
TO FILEGROUP [FG_TEST_Products_Archive]
GO

USE TEST
GO
CREATE TABLE [dbo].[Products_Archive](
[ID] [int] NOT NULL,
[PName] [nvarchar](100) NULL,
1
[AddDate] [datetime2](3) NULL
)ON [FG_TEST_Products_Archive];
GO
 
接下来,就是移转数据的操作了。封装成存储过程,方便调用。本来是想把导数据也写在里面,可是考虑到生产环
境数据量较大,会采用其它的导数据方案,就舍弃了。
CREATE PROCEDURE usp_TransferPartitionData_ForArchive
***@PartitonNumber INT --要移转分区编号
AS
DECLARE ***@filegroup NVARCHAR(100)=N'', --要移转分区所在文件组
***@SQL NVARCHAR(4000)=N'', --创建中间临时表的动态语句
***@rangeValue INT; --要移转

SQL SERVER 分区表的总结--分区表的维护和管理 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人翩仙妙玉
  • 文件大小0 KB
  • 时间2013-12-22