сгенерить инсерты для данных базы

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Такая задача. Есть база данных на Microsoft SQL Server (2005). Нужно получить скрипт, в котором будет набор INSERT'ов для создания данных на основе этой базы.
Т.е. если запустить этот скрипт на этой же базе (или другой с аналогичной структурой), то данные в таблицах будут созданы те же.

Есть много программ в интернете, которые делают это :)
Но у них у всех проблема в том, что порядок заполнения таблиц не соответсвует иерархии таблиц. Проще говоря, сначала заполняется таблица данных, а потом - справочник; порядок заполнения берется из названия таблиц. А должно быть наоборот.

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

Я даже особо не знаю как сформулировать поисковый запрос для этой задачи.

Буду признателен за подсказки.
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Сам себе отвечаю :)

Утилита SQL Dumper (Для просмотра ссылки Войди или Зарегистрируйся) умеет создавать инсерты для таблиц в правильном порядке.

Правда, удалять не умеет - это придется руками.
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
В общем, утилита SQL Dumper меня не устроила тем, что не умеет удалять данные (генерить DELETE).

Кроме того, у меня есть два типа таблиц - демо данные и справочные данные.
Для справочных данных я всегда поставляю DELETE / INSERT - в каждой инсталляции.
А демо данные - при установленной галке в инсталляторе.

Написал свою программу для этого.

SQLServerScripter.jpg


Если кому понадобится, пишите в личку.