我创建了一个新的数据库,其辅助文件为fallows:
CREATE DATABASE XYZ_Dimensions_DW
ON PRIMARY
(NAME='DBForPartitioning_1',
FILENAME=
'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\XYZ_Dimensions_DW_1.mdf',
SIZE = 20,
MAXSIZE=1048576,
FILEGROWTH=20 ),
FILEGROUP FG3
(NAME = 'DBForPartitioning_2',
FILENAME =
'F:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\XYZ_Dimensions_DW_2.ndf',
SIZE = 20,
MAXSIZE=1048576,
FILEGROWTH=20 )
GO
我创建了分区函数作为休闲:
CREATE PARTITION FUNCTION salesYearPartitions (int)
AS RANGE RIGHT FOR VALUES (5208);
CREATE PARTITION SCHEME salesPartitionScheme
AS PARTITION salesYearPartitions
TO ([PRIMARY], FG )
在此之后,我根据分区存档了所有数据,现在发送了包含100万条记录的sendoray文件。
enter code here
在这里,我的问题是如何将分区功能从5208改为5000.请帮助我。
答案 0 :(得分:0)
ALTER PARTITION FUNCTION partition_function_name()
{
SPLIT RANGE ( boundary_value )
| MERGE RANGE ( boundary_value )
} [ ; ]
更多
答案 1 :(得分:0)
您必须使用命令来管理分区边界:SPLIT
分区和MERGE
两个相邻分区。要更改边界,您有两个选项:
如果您没有数据,那么
ALTER PARTITION FUNCTION partition_function_name()MERGE RANGE 5208 ALTER PARTITION FUNCTION partition_function_name()SPLIT RANGE 5000
如果您加载了大量数据,那么以其他方式执行此操作会更快:
ALTER PARTITION FUNCTION partition_function_name()SPLIT RANGE 5000 ALTER PARTITION FUNCTION partition_function_name()MERGE RANGE 5208
区别的原因是当您拆分分区SQL Server读取并分离正在拆分的分区中的所有数据时。因此,它不会拆分完整的数据集,而只会拆分填充数据集的一半。