Показаны сообщения с ярлыком таблицы. Показать все сообщения
Показаны сообщения с ярлыком таблицы. Показать все сообщения

четверг, 26 июля 2012 г.

Секционирование (Partition) таблицы MS SQLServer


Чтобы создать секционированную таблицу или индекс, необходимо выполнить следующие шаги:

1.       Создайте функцию секционирования, чтобы указать, каким образом таблица или индекс, где используется эта функция, могут быть секционированы, т.е создать функцию разбиения данных, по каким условиям.

2.       Создайте схему секционирования, чтобы указать размещение секций функцией секционирования для файловых групп.

3.       Создайте таблицу или индекс с использованием схемы секционирования.


воскресенье, 19 февраля 2012 г.

Перенос таблицы в другую файловую группу MS SQL Server


Сегодня для тестирования создал таблицу, делаю с ней эксперименты, и тут я понял, что таблицу я создал в не той файловой группе, решил её перенести в другую,  заодно, и потренироваться  в переносе.  Хотя, наверное, проще создать новую таблицу, перенести данные в новую таблицу, старую удалить, новую переименовать, но не всегда такое можно в реальной жизни.
Делается это так , через удаление и создание кластерного индекса с указанием нового расположения таблицы.
К примеру, есть таблица test_tbl, расположенная в  файловой группе «PRIMARY»и  есть кластерный ключ на таблицу PK_test_tbl .
sp_help test_tbl
GO
alter table dbo.test_tbl drop constraint PK_test_tbl  with (move to second)
GO
sp_help test_tbl
  Данный скрипт показывает первоначальное расположени, затем удаление кластерного инедекса с перемещением данных в новую файловую группу "second" и отображает новые результат.
После перемещения, не забудьте заново создать заново кластерный индекс, отсюда вывод чтобы перенести таблицу в другую файловую таблицу, нужно пересоздать кластерный индекс в нужной файловой группе.