Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Сторонние средства для переноса таблиц между файловыми группами  [new]
selis76
Member

Откуда:
Сообщений: 337
Итак задача
Есть база 1С размером в в терабайт в MS SQL 2008 , >4000 объектов (таблицы индексы и т.д.) из которых большинство с кластерным индексом.
Для создания базы разработки\тестирования делаем truncate части информации в копии.
Копию нужно сделать более компактной . Наиболее быстрый способ перестроить кластерные индексы в другую файловую группу (генерируем скрипт из Mangament Studio и делаем пару автозамен) и за 4 часа все перебрасывается Test group.
В итоге получается почти пустая Primary group и наполненая полезными данными Test group.
Но в Primary group все-равно остаются таблицы у которых либо нет кластерного индекса либо есть только Primary key гдето на 60 гб .
Shrink file c Reorganize pages даже для такого объема идет долго. Можно конечно перебросить это простым копированием Export Import и с воссозданием PK и индексами, но писать скрипт не хочется.

Вопрос - кто какими готовыми средствами пользуется для таких задач?

Стандартные не подходят
1) Экспорт импорт SQL Management Studio не дает нормально работать с полями Timestamp для большого количества таблиц, а так бы цены ему не было бы
2) Всякие вариации Shrink file это игрушки за гранью разумного смысла и дикую фрагментацию объектов порождают и еще работают медленно и неэффективно



Сергей
2 окт 18, 14:24    [21692687]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
tunknown
Member

Откуда:
Сообщений: 748
selis76
Для создания базы разработки\тестирования делаем truncate части информации в копии.
...
Но в Primary group все-равно остаются таблицы у которых либо нет кластерного индекса либо есть только Primary key гдето на 60 гб
Если других советов не будет, то нельзя ли свести задачу к- 1)создать скрипты структуры из боевой в тестовую+2)пересоздать тестовую+3)отобрать данные из боевой и залить их в тестовую?

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

Чем плохи таблицы только с Primary key?
2 окт 18, 16:44    [21692977]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7396
selis76,

один раз наберитесь терпения, создайте визардом импорта SSIS пакет и используйте его хоть в проекте, хоть напрямую.
2 окт 18, 17:16    [21693026]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
selis76
Member

Откуда:
Сообщений: 337
tunknown
selis76
Для создания базы разработки\тестирования делаем truncate части информации в копии.
...
Но в Primary group все-равно остаются таблицы у которых либо нет кластерного индекса либо есть только Primary key гдето на 60 гб
Если других советов не будет, то нельзя ли свести задачу к- 1)создать скрипты структуры из боевой в тестовую+2)пересоздать тестовую+3)отобрать данные из боевой и залить их в тестовую?

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

Чем плохи таблицы только с Primary key?


Отобрать данные из боевой и залить в тестовую проблематично - поскольку много таблиц с Timestamp полями, эти поля ручками нужно исключать из копирования, как в стандартной функции Экспорта Импорта.

Для таблиц с Primary Key генерится скрип только на создание таблиц, без скрипта на кластерный индекс.
По поводу создания фиктивного кластерного индекса мысль интересная, но не для массового использования.
3 окт 18, 14:16    [21694092]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
selis76
Member

Откуда:
Сообщений: 337
Владислав Колосов
selis76,

один раз наберитесь терпения, создайте визардом импорта SSIS пакет и используйте его хоть в проекте, хоть напрямую.


Если бы база была достаточно статична я бы так и сделал. Но в 1С то реквизит таблицы добавится то новая подсистема, а хочется одну кнопку "Перенести все таблицы" .
Я думал просто уже наделали внешних инструментов для подобных задач
3 окт 18, 14:18    [21694100]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33249
Блог
selis76,

Один раз еаписали пару скриптов и перенесли.
Если нет кластерного индекса, то создание-удаление.
Если есть пк, то удаление-создание.
4 окт 18, 07:31    [21694759]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Критик
selis76,

Один раз еаписали пару скриптов и перенесли.
Если нет кластерного индекса, то создание-удаление.
Если есть пк, то удаление-создание.

на базе в ТБ это будет ой как не весело и не факт что быстрее чем 4часа
4 окт 18, 08:39    [21694787]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30759
selis76
Для таблиц с Primary Key генерится скрип только на создание таблиц, без скрипта на кластерный индекс.
Вы имеете в виду создание скрипта из SSMS?
Там создаётся полный скрипт, делающий копию структуры базы, нужно только указать опции.

selis76
а хочется одну кнопку "Перенести все таблицы"
В принципе масткер импорта как раз это и делает. Но вам нужно перенести все таблицы, за исключением некоторых, такого режима там нет, увы.

TaPaK
Критик
selis76,

Один раз еаписали пару скриптов и перенесли.
Если нет кластерного индекса, то создание-удаление.
Если есть пк, то удаление-создание.

на базе в ТБ это будет ой как не весело и не факт что быстрее чем 4часа
Так вроде ТС нужно перенести какой то мизер данных, несколько гигов.
По моему, вполне рабочий вариант, что бы было всё максимально автоматизировано (но модель придётся делать вручную из SSMS). Про что то подобное "готовое" я не слышал.
4 окт 18, 09:11    [21694806]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
nicxxx
Member

Откуда: Москва
Сообщений: 58
[quot alexeyvg]
selis76
Для таблиц с Primary Key генерится скрип только на создание таблиц, без скрипта на кластерный индекс.
Вы имеете в виду создание скрипта из SSMS?
Там создаётся полный скрипт, делающий копию структуры базы, нужно только указать опции.

ТС, похоже, до сих пор не верит, что кластерный индекс - это и есть таблица
4 окт 18, 12:32    [21695062]     Ответить | Цитировать Сообщить модератору
 Re: Сторонние средства для переноса таблиц между файловыми группами  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33249
Блог
TaPaK
Критик
selis76,

Один раз еаписали пару скриптов и перенесли.
Если нет кластерного индекса, то создание-удаление.
Если есть пк, то удаление-создание.

на базе в ТБ это будет ой как не весело и не факт что быстрее чем 4часа


Делали на базе в 6 Тб, с целью схлопнуть ее, т.к. 80% там было свободного места и в течении паре лет предполагалось ее вывести из эксплуатации. Но при этом она использовалась и восстанавливалась еще на 3х серверах.

Не быстро, но по несколько объектов вполне можно переносить так, чтобы пользователи ничего не замечали.
4 окт 18, 22:32    [21695841]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить