USE study;
ALTERDATABASE study ADD FILEGROUP [db1_fg1];--创建一个文件组ALTERDATABASE study ADD FILEGROUP [db1_fg2];ALTERDATABASE study ADD FILEGROUP [db1_fg3];ALTERDATABASE study ADD FILEGROUP [db1_fg4];
2.在各文件组下面指定数据库文件
ALTERDATABASE study ADD FILE (
name = N'byoul',
filename = N'D:\DevSoft\sqlser\MSSQL12.MSSQLSERVER\MSSQL\DATA\byoul.ndf',
SIZE = 5MB,
maxsize = 100mb,
filegrowth = 5MB
) --size 为文件的初始大小,maxsize为文件的最大大小,filegrouwth自动增量大小
TO filegroup [db1_fg1];ALTERDATABASE study ADD FILE (
name = N'byou2',
filename = N'D:\DevSoft\sqlser\MSSQL12.MSSQLSERVER\MSSQL\DATA\byou2.ndf',
SIZE = 5MB,
maxsize = 100mb,
filegrowth = 5MB
) --size 为文件的初始大小,maxsize为文件的最大大小,filegrouwth自动增量大小
TO filegroup [db1_fg2];ALTERDATABASE study ADD FILE (
name = N'byou3',
filename = N'D:\DevSoft\sqlser\MSSQL12.MSSQLSERVER\MSSQL\DATA\byou3.ndf',
SIZE = 5MB,
maxsize = 100mb,
filegrowth = 5MB
) --size 为文件的初始大小,maxsize为文件的最大大小,filegrouwth自动增量大小
TO filegroup [db1_fg3];ALTERDATABASE study ADD FILE (
name = N'byou4',
filename = N'D:\DevSoft\sqlser\MSSQL12.MSSQLSERVER\MSSQL\DATA\byou4.ndf',
SIZE = 5MB,
maxsize = 100mb,
filegrowth = 5MB
) --size 为文件的初始大小,maxsize为文件的最大大小,filegrouwth自动增量大小
TO filegroup [db1_fg4];
2.创建分区函数和分区方案
1. 创建分区函数
CREATE Partition FUNCTION employeePF (INT) AS range LEFTFORVALUES
(
N'1000000',
N'2000000',
N'3000000'
);
2.创建分区方案
CREATE PARTITION SCHEME [empScheme] AS PARTITION [employeePF] TO (
[db1_fg1],
[db1_fg2],
[db1_fg3],
[db1_fg4]
);
3. 对表进行分区
1. 删除原有主键索引
declare @pkname varchar(1000)
SELECT @pkname= name
FROM
sysobjects
WHERE
xtype='pk'AND object_name(parent_obj) ='Employee'EXEC( 'alter table Employee drop constraint '+@pkname );
2. 创建新的主键聚集索引
ALTERTABLE [dbo].[Employee] ADDPRIMARYKEY CLUSTERED ([EmployeeNo] ASC) WITH (
PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON
) ON [empScheme] ([EmployeeNo])