class="article_content clearfix">
class="htmledit_views">
USE
[
master
]
GO
if
exists
(
select
*
from
sys.databases
where
name
=
'
Test_1
'
)
drop
database
Test_1
GO
--
创建新库,要演练分区所以我们会多创建两个文件组Test_A,Test_B,以便在后面的分区方案中使用。
CREATE
DATABASE
[
Test_1
]
ON
PRIMARY
( NAME
=
N
'
test_1
'
, FILENAME
=
N
'
D:/sqldata/test_1.mdf
'
, SIZE
=
10240KB , MAXSIZE
=
UNLIMITED, FILEGROWTH
=
1024KB ),
FILEGROUP
[
test_A
]
( NAME
=
N
'
Test_A
'
, FILENAME
=
N
'
D:/sqldata/test_A.ndf
'
, SIZE
=
1024KB , MAXSIZE
=
UNLIMITED, FILEGROWTH
=
1024KB ),
FILEGROUP
[
test_B
]
( NAME
=
N
'
Test_B
'
, FILENAME
=
N
'
D:/sqldata/test_B.ndf
'
, SIZE
=
1024KB , MAXSIZE
=
UNLIMITED, FILEGROWTH
=
1024KB )
LOG
ON
( NAME
=
N
'
Test_log
'
, FILENAME
=
N
'
D:/sqldata/Test_log.ldf
'
, SIZE
=
7616KB , MAXSIZE
=
2048GB , FILEGROWTH
=
10
%
)
COLLATE Chinese_PRC_CI_AS
GO
USE
[
Test_1
]
GO
--
若分区函数存在则先drop掉
IF
EXISTS
(
SELECT
*
FROM
sys.partition_functions
WHERE
name
=
N
'
test_partition
'
)
DROP
PARTITION
FUNCTION
[
test_partition
]
GO
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*创建分区函数给后面的分区方案使用,分区函数很简单就是指定一个范围确定在某个值为什么的时候放在那个分区上*/
--
新建一个简单的分区函数,该函数以1000为界分两个区
create
partition
function
test_partition(
int
)
AS
RANGE
LEFT
FOR
VALUES
(
1000
)
go
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*看分区方案是否存在,若存在先drop掉*/
IF
EXISTS
(
SELECT
*
FROM
sys.partition_class="tags" href="/tags/SCHEME.html" title=scheme>schemes
WHERE
name
=
N
'
test_class="tags" href="/tags/SCHEME.html" title=scheme>scheme
'
)
DROP
PARTITION SCHEME test_class="tags" href="/tags/SCHEME.html" title=scheme>scheme
GO
--
创建分区方案,分区方案需要指定一个分区函数,并指定在分区函数中分的区需要放在哪一个文件组上
create
partition class="tags" href="/tags/SCHEME.html" title=scheme>scheme test_class="tags" href="/tags/SCHEME.html" title=scheme>scheme
AS
PARTITION
[
test_partition
]
TO
(test_A,test_B)
GO
--
创建分区表
if
object_id
(
'
student
'
,
'
U
'
)
is
not
null
drop
table
student;
go
create
table
student
(
id
int
identity
(
1
,
1
)
not
null
,
name
varchar
(
10
)
not
null
,
class
int
not
null
,
grade
int
)
on
test_class="tags" href="/tags/SCHEME.html" title=scheme>scheme(class)
--
在此处指定该表要使用的分区方案,并将指定分区依据列
go
--
随便插入几条数据
insert
into
student
values
(
'
AQU
'
,
10
,
100
);
--
这条数据在A分区上
insert
into
student
values
(
'
AQU_边界
'
,
1000
,
89
);
--
这边数据也在A分区上是个边界,因为我们上面在函数中指定的是RANGE LEFT,所以1000在A分区上
insert
into
student
values
(
'
BQU
'
,
1001
,
90
);
--
这一条肯定是在B分区上了。
go
--
最后看看结果。$partition.分区函数(分区列)可以返回某一行所在的分区序号
select
*
,分区序号
=
$partition.test_partition(class)
from
student
GO
代码加注释,希望对初学者有用。
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)