Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам? / 18 сообщений из 18, страница 1 из 1
23.12.2019, 14:44
    #39907046
leonix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
Смысл в том, чтобы часто используемые данные были размещены на быстрых дисках и редкоиспользуемые были на медленных дисках.
Можно ли так сделать?
...
Рейтинг: 0 / 0
23.12.2019, 14:54
    #39907056
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
leonix,

файловые группы
...
Рейтинг: 0 / 0
23.12.2019, 14:57
    #39907060
iiyama
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
subj leonix,
...
Рейтинг: 0 / 0
23.12.2019, 14:58
    #39907061
leonix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
Спасибо. Пошёл читать.
...
Рейтинг: 0 / 0
23.12.2019, 15:53
    #39907093
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
leonix,

Да, тема стара как мир
Как один из вариантов - на кластерных таблицах пересоздать кластерный индекс (WITH DROP_EXISTING) на новой файловой группе, содержащей файлы, расположенные физически на нужных томах - что физически перенесет таблицы в новое расположение.

В некластерных таблицах-кучах - так же можно временно создать кластерный индекс (без PRIMARY KEY) - с той же последовательностью действий, потом индекс удалить. Данные при этом так же физически останутся в нужном месте. Но тут нужно посмотреть - что уникальный некластерный индекс, который создастся в результате кластерного без PRIMARY ключа, - для внутреннего соблуюдения уникальности - стоит по полю, где нет дубликатов, либо создать временно некий суррогатный ключ (к примеру - ID IDENTITY(1,1))

Либо так же есть втупую вариант - вначале заскриптовать на создание текущую таблицу, поменяв вручную файловую группу с PRIMARY на НОВУЮ и так же указать временное имя таблицы, запустить скрипт, что повлечет за собой создание новой таблицы,
а потом залить в нее данные из старой:
INSERT INTO [scheme].[new_table]
SELECT * FROM [scheme].[old_table]

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

Profit!

P.S. - лучше вначале всегда потестить, сразу в PROD не надо такое на всякий :)
...
Рейтинг: 0 / 0
23.12.2019, 15:56
    #39907095
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
PsyMisha,

Это относится к варианту, когда горячие-теплые-холодные данные лежат в отдельных таблицах, безусловно.
Т.е. - мы переносим таблицы целиком.
В случае, если вертикально в 1й физической таблице лежат данные "всей степени теплоты" - то да, только секционирование самое практичное
...
Рейтинг: 0 / 0
23.12.2019, 16:00
    #39907096
leonix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
PsyMisha, Спасибо!
Надо целиком таблицы. Скорее всего буду пересоздавать кластерный индекс. Буду пробовать на копии.
...
Рейтинг: 0 / 0
23.12.2019, 16:02
    #39907097
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
PsyMisha

Как один из вариантов - на кластерных таблицах пересоздать кластерный индекс (WITH DROP_EXISTING) на новой файловой группе, содержащей файлы, расположенные физически на нужных томах - что физически перенесет таблицы в новое расположение.

при этом блобы останутся там, где и были
...
Рейтинг: 0 / 0
23.12.2019, 17:06
    #39907157
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
Yasha123,

Вот блобы у меня лично опыта не было, надо курить мануалы :)
А как вы с этим справлялись?
...
Рейтинг: 0 / 0
23.12.2019, 17:41
    #39907184
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
PsyMisha
Yasha123,

Вот блобы у меня лично опыта не было, надо курить мануалы :)
А как вы с этим справлялись?


textimage_on
...
Рейтинг: 0 / 0
23.12.2019, 19:52
    #39907269
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
msLex
PsyMisha
Yasha123,

Вот блобы у меня лично опыта не было, надо курить мануалы :)
А как вы с этим справлялись?


textimage_on

только это опция create table, не create index.
поэтому ещё раз: при обычном ребилде кластерного на другую ФГ блобы останутся в прежней ФГ
...
Рейтинг: 0 / 0
23.12.2019, 19:56
    #39907273
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
Yasha123
msLex
пропущено...


textimage_on

только это опция create table, не create index.
поэтому ещё раз: при обычном ребилде кластерного на другую ФГ блобы останутся в прежней ФГ

Я в курсе



Кстати, в справке написано, что это свойство нельзя использовать, при создании таблиц без lob полей.
Так же его нельзя указывать при alter table. Т.е. в ситуации, когда lob поле добавляется в таблицу после создания, это опцию никак нельзя указать. Только пересоздавать полностью таблицу.
...
Рейтинг: 0 / 0
23.12.2019, 20:33
    #39907289
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
msLex
...
Только пересоздавать полностью таблицу.

вот именно
...
Рейтинг: 0 / 0
23.12.2019, 20:57
    #39907297
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
Yasha123
поэтому ещё раз: при обычном ребилде кластерного на другую ФГ блобы останутся в прежней ФГ
а если поменять файлгруппу таблицы, разве BLOB-ы не переместятся?
...
Рейтинг: 0 / 0
23.12.2019, 21:10
    #39907299
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
alexeyvg
Yasha123
поэтому ещё раз: при обычном ребилде кластерного на другую ФГ блобы останутся в прежней ФГ
а если поменять файлгруппу таблицы, разве BLOB-ы не переместятся?
А вообще да, если сделать перенос таблицы в функцию секционирования, то БЛОБ-ы нормально переносятся, а вот если просто в файлгруппу, то не переносятся...
Удивительно...
...
Рейтинг: 0 / 0
23.12.2019, 21:33
    #39907306
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
alexeyvg,

помнится была хорошая статья what about move lob data или как то так.

там в целом описывалось две концепции как мигрировать LOB и все было сильно завязанно на используемой версии и редакции сервера, поддерживал ли он online ребилды или нет.
...
Рейтинг: 0 / 0
24.12.2019, 11:56
    #39907426
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
felix_ff
alexeyvg,

помнится была хорошая статья what about move lob data или как то так.

там в целом описывалось две концепции как мигрировать LOB и все было сильно завязанно на используемой версии и редакции сервера, поддерживал ли он online ребилды или нет.
О, спасибо, нашёл, Kimberly Tripp и Paul Randal: https://www.itprotoday.com/what-about-moving-lob-data

А то я помню, что не должно получаться, но у меня всегда переносилось, я же с секционированными таблицами работаю...
...
Рейтинг: 0 / 0
24.12.2019, 13:10
    #39907461
PsyMisha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам?
alexeyvg

Kimberly Tripp и Paul Randal


Оо, ну это вообще звёздные ребята, особенно последний. Он же в Microsoft вообще работал и писал, в частности саму DBCC CHECKDB
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли разбить базу на файлы и жестко привязать таблицы к определенным файлам? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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