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

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

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

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




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


Microsoft SQL Server 2008 R2 (SP3) Enterprise Edition





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


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


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


Буду очень благодарен за пример.
...
Рейтинг: 0 / 0
Удалить сексции секционированной таблицы.
    #39738556
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Удалить сексции секционированной таблицы.
    #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
Удалить сексции секционированной таблицы.
    #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
Удалить сексции секционированной таблицы.
    #39738566
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДваждыДва TRUNCATE TABLE dbo.WordMention WITH (PARTITIONS (1))
Нет, только начиная с 2016. Примеры по ссылкам что выше скидывал. Смысл тот же просто больше кода
...
Рейтинг: 0 / 0
Удалить сексции секционированной таблицы.
    #39738607
ДваждыДва
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlanDentonДваждыДва TRUNCATE TABLE dbo.WordMention WITH (PARTITIONS (1))
Нет, только начиная с 2016. Примеры по ссылкам что выше скидывал. Смысл тот же просто больше кода


Спасибо.

Разбираюсь.






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


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

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


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

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


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

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


Спасибо.
...
Рейтинг: 0 / 0
Удалить сексции секционированной таблицы.
    #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
Удалить сексции секционированной таблицы.
    #39738795
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так надо компрессию такую же для таблицы t2 было делать, как и для секции.
...
Рейтинг: 0 / 0
Удалить сексции секционированной таблицы.
    #39738964
ДваждыДва
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичНу так надо компрессию такую же для таблицы t2 было делать, как и для секции.


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

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

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


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