Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Найти и описать различие баз  [new]
dmzdmz
Guest
Добрый день.
Есть эталонная БД1. И есть БД2 - изначально копия БД1, но потом были изменения и доработки. Хочется получить внятное описание внесенных изменений. Например: этой таблицы в БД2 нет, у этой таблицы поле1 другую длину имеет, текст этой процедуры отличается итп.
Понимаю, что надо смотреть в сторону выборок из syscomments, syscolumns итп.
Может у кого есть опыт или заготовки скрипта под такую задачу?
ps базы обе под sql2008
17 фев 15, 09:47    [17274825]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
сотрите схему INFORMATION_SCHEMA там представлены почти все метаданые в читабельном виде
17 фев 15, 10:08    [17274913]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32175
dmzdmz
Понимаю, что надо смотреть в сторону выборок из syscomments, syscolumns итп.
Нужно смотреть в сторону организации разработки. После выпуска новых билдов клиента на С вы же не будете сравнивать EXE файлы с целью "получить внятное описание внесенных изменений. Например: вот в этом классе добавили метод, тут изменили тип локальной переменной в функции итп."

dmzdmz
Может у кого есть опыт или заготовки скрипта под такую задачу?
Для разовой задачи лучше использовать какие то готовые программы, например, MS Visual Studio
17 фев 15, 10:18    [17274956]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
dmzdmz
Guest
alexeyvg
После выпуска новых билдов клиента на С вы же не будете сравнивать EXE файлы с целью "получить внятное описание внесенных изменений. Например: вот в этом классе добавили метод, тут изменили тип локальной переменной в функции итп."

А в чем проблема? БД - не EXE, а вполне себе исходник. Вся структура БД есть в ней самой в открытом виде. Задача разовая - отличия структур двух БД автоматически описать. Например с помощью susobjects итп или INFORMATION_SCHEMA как мне посоветовали выше.
Сложно только из этих данных собрать общий отчет, кропотливо. Поэтому и спрашиваю, может кто делал уже?
17 фев 15, 10:44    [17275101]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
Glory
Member

Откуда:
Сообщений: 104751
dmzdmz
Поэтому и спрашиваю, может кто делал уже?

В Интернете сотни скриптов и утилит, которые умеют сравнивать схемы баз
17 фев 15, 10:45    [17275115]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32175
dmzdmz
alexeyvg
После выпуска новых билдов клиента на С вы же не будете сравнивать EXE файлы с целью "получить внятное описание внесенных изменений. Например: вот в этом классе добавили метод, тут изменили тип локальной переменной в функции итп."

А в чем проблема? БД - не EXE, а вполне себе исходник. Вся структура БД есть в ней самой в открытом виде. Задача разовая - отличия структур двух БД автоматически описать. Например с помощью susobjects итп или INFORMATION_SCHEMA как мне посоветовали выше.
Я не говорю, что это невозможно.
Да и из EXE от C# тоже можно вытащить исходники, например.

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

dmzdmz
Сложно только из этих данных собрать общий отчет, кропотливо. Поэтому и спрашиваю, может кто делал уже?
Так вот, ответ: берёте любой продукт для этих целей, и получаете отчёт.

Вы же понимаете, что "универсальные скрипты, собирающие отчёт о изменениях", по сложности тождественны такому продукту. Кто же их тут мог написать, что бы вам выложить, эти тысячи или десятки тысяч строк кода скриптов?

Тут появляются такие вопросы периодически, но вот универсальных скриптов что то не появляется. Ну, может, выложат простой запрос, показывающий некие частные изменения (типа как поменялись колонки), и всё.

Проще взять готовый продукт, чем искать такое.
17 фев 15, 10:54    [17275187]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
Glory
Member

Откуда:
Сообщений: 104751
https://www.google.ee/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=schema compare mssql
17 фев 15, 10:56    [17275195]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
Вот, на правах рекламы :)
Один интерфейс для SqlServer и Oracle.
17 фев 15, 11:10    [17275284]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
Нарим
Member

Откуда:
Сообщений: 41
ЕвгенийВ, а оно может разве сравнивать изменения в хранимых процедурах или фукциях ? Я такого не нашел.
Автору могу посоветовать Red Gate Sql Compare, купить можно на торрентах по цене интернета.
17 фев 15, 11:49    [17275507]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 5003
Нарим,
Может.
17 фев 15, 11:55    [17275550]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
dmzdmz
Guest
Glory
https://www.google.ee/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=schema compare mssql

Спасибо, поставил VS2013 community - запустил сравнение. Подходяще!
17 фев 15, 16:17    [17277369]     Ответить | Цитировать Сообщить модератору
 Re: Найти и описать различие баз  [new]
dmzdmz
Guest
Нарим
Автору могу посоветовать Red Gate Sql Compare, купить можно на торрентах по цене интернета.

И вам спасибо. Инструмент от VS только скрипт может создавать, отчетов нет. Триальный Redgate Compare строит отчеты, в т.ч. интерактивный html.
18 фев 15, 09:33    [17279598]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить