2013-04-12 2 views
0

Я создал новую базу данных с вторичным файлом в залежах:Таблица разделы Функция - 2008

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) 

После этого я архивируюсь все данные в соответствии с разделами и теперь файл отправителя, имеющий 1 миллион записей.

enter code here 

Здесь мой вопрос заключается в том, как изменить мою функцию раздела от 5208 до 5000. Пожалуйста, помогите мне.

ответ

0
ALTER PARTITION FUNCTION partition_function_name() 
{ 
    SPLIT RANGE (boundary_value) 
    | MERGE RANGE (boundary_value) 
} [ ; ] 
более

здесь

http://technet.microsoft.com/en-us/library/ms186307.aspx

+0

Hi Lan, Спасибо за ваш ответ ... Не могли бы вы посоветовать мне, как использовать функцию перегородки с указанным выше сценарием с 5000. Цените свою помощь ... – shiva

+0

Привет .. Просто хочу подтвердить ниже, скрипт правильный функция разделения продаж() диапазон слияния(). Пожалуйста, помогите мне – shiva

+0

Сначала разделите раздел upt на 5208 на два, чтобы он был до 5000 и один от 5000 до 5208. Затем объедините диапазон 5208 в более высокий раздел –

0

Вы должны команды для управления границами раздела: SPLIT раздел и MERGE два смежных разделов. Чтобы изменить границу у вас есть 2 варианта:

  1. Если у вас нет данных, то

    ALTER PARTITION FUNCTION partition_function_name() MERGE RANGE 5208 ALTER PARTITION FUNCTION partition_function_name() SPLIT RANGE 5000

  2. Если у вас есть значительное количество загруженных данных, то делать это будет иначе:

    ALTER PARTITION FUNCTION partition_function_name() SPLIT RANGE 5000 ALTER PARTITION FUNCTION partition_function_name() MERGE RANGE 5208

Причина разницы в том, что, когда вы разделяете разделов SQL-сервер считывает и разделяет все данные в ограждающей раскалывается. Поэтому вместо разделения полного набора данных он будет разделять только половину заполненного набора данных.

Смежные вопросы