Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удалить сексции секционированной таблицы. / 19 сообщений из 19, страница 1 из 1
26.11.2018, 13:33
    #39738537
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Добрый день.

Есть огромная таблица, которая секционирована и ее секции лежат в разных файловых группах.

Секционирована она по годам.

Надо как-то удалить старые файлы, соответствующие наиболее старым файловым группам.




Подскажите пожалуйста как это правильно сделать?
...
Рейтинг: 0 / 0
26.11.2018, 13:34
    #39738538
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
обычный DELETE будет выполняться бесконечно долго.
...
Рейтинг: 0 / 0
26.11.2018, 13:35
    #39738540
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Подозраваю что файловые группы можно как-то по-другому удалить.
...
Рейтинг: 0 / 0
26.11.2018, 13:37
    #39738542
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Секции можно транкейтить. На более новых версия сразу, на более старых -- через свитч в таблицу.
...
Рейтинг: 0 / 0
26.11.2018, 13:37
    #39738543
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Если есть SQL Server 2016 то там можно делать TRUNCATE выбранных секций. Если версия ниже то переключаете секцию на пустую таблицу с идентичной структурой столбцов и после удаляете эту таблицу.
...
Рейтинг: 0 / 0
26.11.2018, 13:39
    #39738545
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Гавриленко Сергей АлексеевичСекции можно транкейтить. На более новых версия сразу, на более старых -- через свитч в таблицу.


Microsoft SQL Server 2008 R2 (SP3) Enterprise Edition





Сергей, если не сложно, можете ссылочку дать как это делать?


Я пока тоже поищу....
...
Рейтинг: 0 / 0
26.11.2018, 13:40
    #39738547
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
AlanDentonЕсли есть SQL Server 2016 то там можно делать TRUNCATE выбранных секций. Если версия ниже то переключаете секцию на пустую таблицу с идентичной структурой столбцов и после удаляете эту таблицу.


Да, версия ниже.


Буду очень благодарен за пример.
...
Рейтинг: 0 / 0
26.11.2018, 13:56
    #39738556
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
...
Рейтинг: 0 / 0
26.11.2018, 14:00
    #39738561
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
AlanDentonДваждыДваБуду очень благодарен за пример.
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/24 - cycle switching - db.sql
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/25 - cycle switching - test.sql
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/26 - truncate partition.sql

Ого... Спасибо!
...
Рейтинг: 0 / 0
26.11.2018, 14:02
    #39738563
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
AlanDentonДваждыДваБуду очень благодарен за пример.
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/24 - cycle switching - db.sql
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/25 - cycle switching - test.sql
https://github.com/sergeysyrovatchenko/SQLSaturday/blob/master/DatabaseSizeTips/26 - truncate partition.sql


А сработает ли это в 2008-м?


TRUNCATE TABLE dbo.WordMention WITH (PARTITIONS (1))
...
Рейтинг: 0 / 0
26.11.2018, 14:04
    #39738566
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
ДваждыДва TRUNCATE TABLE dbo.WordMention WITH (PARTITIONS (1))
Нет, только начиная с 2016. Примеры по ссылкам что выше скидывал. Смысл тот же просто больше кода
...
Рейтинг: 0 / 0
26.11.2018, 14:50
    #39738607
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
AlanDentonДваждыДва TRUNCATE TABLE dbo.WordMention WITH (PARTITIONS (1))
Нет, только начиная с 2016. Примеры по ссылкам что выше скидывал. Смысл тот же просто больше кода


Спасибо.

Разбираюсь.






А подскажите, откуда тут при переключении цифра 2 взялась? (обвел её).


Никак не могу понять
...
Рейтинг: 0 / 0
26.11.2018, 14:58
    #39738613
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Код: sql
1.
col1 int

, очевидно в примере партиция для значения 2
...
Рейтинг: 0 / 0
26.11.2018, 18:38
    #39738750
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Konst_One
Код: sql
1.
col1 int


, очевидно в примере партиция для значения 2Нет, секции указывают по порядковому номеру.

ДваждыДваА подскажите, откуда тут при переключении цифра 2 взялась? (обвел её).Очевидно в примере очищают (переключают) секцию номер два.
...
Рейтинг: 0 / 0
26.11.2018, 19:15
    #39738766
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
alexeyvgKonst_One
Код: sql
1.
col1 int


, очевидно в примере партиция для значения 2Нет, секции указывают по порядковому номеру.

ДваждыДваА подскажите, откуда тут при переключении цифра 2 взялась? (обвел её).Очевидно в примере очищают (переключают) секцию номер два.


Спасибо.
...
Рейтинг: 0 / 0
26.11.2018, 19:16
    #39738768
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Что-то не получается секцию переключить на другую таблицу:


Код: sql
1.
ALTER TABLE t1 SWITCH PARTITION 2 TO t2



ALTER TABLE SWITCH statement failed. Source and target partitions have different values for the DATA_COMPRESSION option.
...
Рейтинг: 0 / 0
26.11.2018, 20:29
    #39738795
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Ну так надо компрессию такую же для таблицы t2 было делать, как и для секции.
...
Рейтинг: 0 / 0
27.11.2018, 10:34
    #39738964
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Гавриленко Сергей АлексеевичНу так надо компрессию такую же для таблицы t2 было делать, как и для секции.


Сделал, заработало, спасибо :)
...
Рейтинг: 0 / 0
27.11.2018, 10:36
    #39738965
ДваждыДва
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить сексции секционированной таблицы.
Еще такой вопрос есть.

На таблицу ссылаются FK (ON DELETE ON UPDATE CASCADE) другие таблицы.

Если секцию переключить и сделать TRUNCATE новой таблицы, из зависимых таблиц удаляться данные?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удалить сексции секционированной таблицы. / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]