设为首页 加入收藏

TOP

SQL Server动态生成分区脚本(二)
2014-11-24 02:49:57 来源: 作者: 【 】 浏览:14
Tags:SQL Server 动态 生成 分区 脚本
.Fun_+@TableName+_+@ColumnName+(+@ColumnName+);
PRINT @sql + CHAR(13)

生成的脚本如下:
--1.创建文件组
ALTER DATABASE [MyDataBase]
ADD FILEGROUP [FG_User_Id_01]

ALTER DATABASE [MyDataBase]
ADD FILEGROUP [FG_User_Id_02]

ALTER DATABASE [MyDataBase]
ADD FILEGROUP [FG_User_Id_03]

ALTER DATABASE [MyDataBase]
ADD FILEGROUP [FG_User_Id_04]


--2.创建文件
ALTER DATABASE [MyDataBase]
ADD FILE
(NAME = NFG_User_Id_01_data,FILENAME = NE:DataBaseFG_User_Id_01_data.ndf,SIZE = 30MB, FILEGROWTH = 10% )
TO FILEGROUP [FG_User_Id_01];

ALTER DATABASE [MyDataBase]
ADD FILE
(NAME = NFG_User_Id_02_data,FILENAME = NE:DataBaseFG_User_Id_02_data.ndf,SIZE = 30MB, FILEGROWTH = 10% )
TO FILEGROUP [FG_User_Id_02];

ALTER DATABASE [MyDataBase]
ADD FILE
(NAME = NFG_User_Id_03_data,FILENAME = NE:DataBaseFG_User_Id_03_data.ndf,SIZE = 30MB, FILEGROWTH = 10% )
TO FILEGROUP [FG_User_Id_03];

ALTER DATABASE [MyDataBase]
ADD FILE
(NAME = NFG_User_Id_04_data,FILENAME = NE:DataBaseFG_User_Id_04_data.ndf,SIZE = 30MB, FILEGROWTH = 10% )
TO FILEGROUP [FG_User_Id_04];


--3.创建分区函数
CREATE PARTITION FUNCTION
Fun_User_Id(INT) AS
RANGE RIGHT
FOR VALUES(10000000,20000000,30000000)


--4.创建分区方案
CREATE PARTITION SCHEME
Sch_User_Id AS
PARTITION Fun_User_Id
TO([FG_User_Id_01],[FG_User_Id_02],[FG_User_Id_03],[FG_User_Id_04])


--5.分区函数的记录数
SELECT $PARTITION.Fun_User_Id(Id) AS Partition_num,
MIN(Id) AS Min_value,MAX(Id) AS Max_value,COUNT(1) AS Record_num
FROM dbo.User
GROUP BY $PARTITION.Fun_User_Id(Id)
ORDER BY $PARTITION.Fun_User_Id(Id);

三、后记
在MSND的SQL Server 2005 中的分区表和索引中同样提供了一个脚本用于生成表分区,和他不同的是:他采用了表来保存文件路径,再使用游标来创建文件而已,其实这只能生成一部分代码,而我的脚本不同之处就是能最大限度的生成常规表分区的常用代码,方便快捷很多。有兴趣的童鞋可以 下载:SQL2005PartitioningScripts.exe
上面使用表保存信息的这种想法在后期的数据搬迁(比如需要对一个现有的表进行表分区,这种情况下通常会先建一个分区表,再进行导入现有表的数据)中是有很大的用处的,后面的文章中会讲讲如何进行自动化的数据搬迁,敬请留意。
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mssql脱库脚本aspx版本 下一篇sqlserver2005查询字段信息

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)