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

Откуда:
Сообщений: 18
Одна база стоит на секретном объекте (SQL server 2005). Доступа как такового к БД не имею. Могу лишь попросить оператора выполнить запросы и чтоб скинул структуру на мыло. Данные и файлы он не даст. Другая у меня. Постоянно обновляется.
Мне надо написать утилитку на Дельфях по сравнению структуры бд. И если что то не совпадет - то сгенерировать пакет запросов по ее изменению (обновлению) и передать их оператору.

Ребят, как мне лучше организовать работу, подскажите плиз? Может у кого есть готовые решения сравнения структур бд.
17 дек 12, 17:29    [13644642]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
aqula
Может у кого есть готовые решения сравнения структур бд.
Вряд ли у кого есть готовая утилитка на дельфи с исходниками.

aqula
Ребят, как мне лучше организовать работу, подскажите плиз?
Админ может вам скидивать скрипт со структурой по почте, а вы уже будете сравнивать с ней базу (со скриптом или создав отдельную базу) какой нибуть утилитой.
17 дек 12, 17:31    [13644665]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Гость333
Member

Откуда:
Сообщений: 3683
aqula
Может у кого есть готовые решения сравнения структур бд.

Ну вот, например: SQL Compare
17 дек 12, 17:35    [13644691]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
aqula
Member

Откуда:
Сообщений: 18
Не не
утилитку мне не надо. Я сам ее напишу коли будет готовый алгоритм работы. Мне бы принцип взаимодействия отработать.
Что от оператора просить? Вот у него стоит SQL Management Studio. Что ему надо сделать чтоб получить структуру, которую я бы мог сравнить со своей? Или может дать ему процедурку какую-нибудь чтоб выдала в нужном виде структуру.

Как правило готовые программные решения сравнивают мдф файлы или нужно соединение к серваку - тут к ним доступа нет. Боюсь это не подойдет.
17 дек 12, 18:10    [13644904]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
aqula
Не не
утилитку мне не надо. Я сам ее напишу коли будет готовый алгоритм работы. Мне бы принцип взаимодействия отработать.
Что от оператора просить? Вот у него стоит SQL Management Studio. Что ему надо сделать чтоб получить структуру, которую я бы мог сравнить со своей? Или может дать ему процедурку какую-нибудь чтоб выдала в нужном виде структуру.

Как правило готовые программные решения сравнивают мдф файлы или нужно соединение к серваку - тут к ним доступа нет. Боюсь это не подойдет.


да вы смелый девелопер с кучей свободного времени
17 дек 12, 18:12    [13644927]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Гость333
Member

Откуда:
Сообщений: 3683
aqula
Вот у него стоит SQL Management Studio. Что ему надо сделать чтоб получить структуру, которую я бы мог сравнить со своей?

Ну как вариант — в SSMS на нужной БД нажимаете правой кнопкой мыши — Tasks — Generate Scripts. Дальше выбираете нужные объекты (или все объекты БД), отмечаете нужные опции и т.д.
17 дек 12, 18:29    [13645063]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
aqula
Вот у него стоит SQL Management Studio. Что ему надо сделать чтоб получить структуру, которую я бы мог сравнить со своей?
Нажать кнопку "сгенерить скрипт структуры", в результате получается текстовый файлик со структурой.
aqula
Как правило готовые программные решения сравнивают мдф файлы или нужно соединение к серваку
Нет, не обязательно.
aqula
Я сам ее напишу коли будет готовый алгоритм работы.
Можно и самому, конечно. А какой алгоритм вам нужен? "Получить метаданные, записать в файл". Метаданные получаются из системных таблиц и функций, в документации есть соответствующий раздел:
Системные представления (Transact-SQL) > Представления каталога (Transact-SQL) > Представления каталога объектов (Transact-SQL)
Это основной раздел, возможно могут понадобиться и другие...
17 дек 12, 18:37    [13645137]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
aqula
Member

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

алгоритм "простой": сравнить 2 файлика .sql - проанализировать и создать третий файлик с запросиками
метаданные думаю не пригодятся.

Сравниваем 2 файла построчно на идентичность, строки которые не совпадают помещаем в 3ий файл. Как то так.
17 дек 12, 19:11    [13645367]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
aqula
Member

Откуда:
Сообщений: 18
А запросом можно создать? А то боюсь могут быть сбои - разные настройки при работе менеджера (генератора) скрипта.
17 дек 12, 19:15    [13645381]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
aqula
alexeyvg,

алгоритм "простой": сравнить 2 файлика .sql - проанализировать и создать третий файлик с запросиками
метаданные думаю не пригодятся.

Сравниваем 2 файла построчно на идентичность, строки которые не совпадают помещаем в 3ий файл. Как то так.
Вы весьма далеки от понимания задачи сравнения схем двух БД...
17 дек 12, 19:20    [13645397]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
aqula
alexeyvg,

алгоритм "простой": сравнить 2 файлика .sql - проанализировать и создать третий файлик с запросиками
метаданные думаю не пригодятся.

Сравниваем 2 файла построчно на идентичность, строки которые не совпадают помещаем в 3ий файл. Как то так.
Ну попробуйте :-)

Ещё патчи так можно делать с версиями экзешников или вообще ОС. Байты в файлах по порядку сравнивать, которые не совпадают, записывать в файл патча.
17 дек 12, 19:26    [13645415]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
alexeyvg
aqula
alexeyvg,

алгоритм "простой": сравнить 2 файлика .sql - проанализировать и создать третий файлик с запросиками
метаданные думаю не пригодятся.

Сравниваем 2 файла построчно на идентичность, строки которые не совпадают помещаем в 3ий файл. Как то так.
Ну попробуйте :-)

Ещё патчи так можно делать с версиями экзешников или вообще ОС. Байты в файлах по порядку сравнивать, которые не совпадают, записывать в файл патча.


а разницу пробелов считать отличием?
или комментарии? ;-)
17 дек 12, 19:28    [13645425]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
Winnipuh
а разницу пробелов считать отличием?
или комментарии? ;-)
Ну, это уже детали реализации, думаю, aqula разберётся!
17 дек 12, 19:30    [13645435]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
alexeyvg
Winnipuh
а разницу пробелов считать отличием?
или комментарии? ;-)
Ну, это уже детали реализации, думаю, aqula разберётся!


да, что это я .... это мелочи... там еще таких незначащих мелочей много....
17 дек 12, 19:39    [13645479]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
aqula
Member

Откуда:
Сообщений: 18
Для этого мне нужен стандарт.
Как его мне добиться? Может какие запросики хитрые знаете что генерят структурку как на ладони. :)
17 дек 12, 20:15    [13645625]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
aqula
Как его мне добиться? Может какие запросики хитрые знаете что генерят структурку как на ладони. :)
Нету таких...

Можно искать в инете (и на этом сайте) запросы (точнее, процедуры, код) для частных случаев, типа табла с полями, но чтоб целиком для всей структуры - такого не найдёте.
17 дек 12, 21:28    [13645928]     Ответить | Цитировать Сообщить модератору
 Re: Сравнить структуру БД  [new]
Crimean
Member

Откуда:
Сообщений: 13147
FAQ... была коллекция ссылок аж. + ссылки на некоторые упрощенные скриптики сравнения.
17 дек 12, 22:05    [13645996]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить