Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Мониторинг изменений на уровне всей базы.  [new]
Мониторинг изменений всей базы.
Guest
Задача заключается в следующем.
Существует некоторое приложение, работающее с SQL базой на MS SQL 2012.
Приложение не имеет механизмов импорта данных. Поэтому принято решение реализовать такой импорт путем прямого внесения необходимых записей в соответствующие таблицы SQL базы. Но проблема в том, что не понятна структура базы, назначение таблиц, база достаточно большая (около 100 таблиц). Поэтому на мой взгляд самое простое решение, это запустить приложение работающее с базой, выполнить в нем необходимые операции и посмотреть какие данные и в какие таблицы были занесены.
Собственно вопрос заключается в том, есть ли в MS SQL 2012 какие-то средства которые позволяли бы решить данную задачу?
Насколько я понял можно включить журналирование для отдельных таблиц, но нужно знать, что это за таблицы.
23 май 13, 08:55    [14336630]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Мониторинг изменений всей базы.
Задача заключается в следующем.
Существует некоторое приложение, работающее с SQL базой на MS SQL 2012.
Приложение не имеет механизмов импорта данных. Поэтому принято решение реализовать такой импорт путем прямого внесения необходимых записей в соответствующие таблицы SQL базы. Но проблема в том, что не понятна структура базы, назначение таблиц, база достаточно большая (около 100 таблиц). Поэтому на мой взгляд самое простое решение, это запустить приложение работающее с базой, выполнить в нем необходимые операции и посмотреть какие данные и в какие таблицы были занесены.
Собственно вопрос заключается в том, есть ли в MS SQL 2012 какие-то средства которые позволяли бы решить данную задачу?
Насколько я понял можно включить журналирование для отдельных таблиц, но нужно знать, что это за таблицы.

решение в лоб: посмотреть в Profiler, какие запросы отрабатывают при выполнении тех или иных действий. И вы будете видеть, как сформировать запрос на изменение/вставку/удаление записей.
Опять же, ваше приложение подключается к базе каким-то образом. Там win или sql аутентификация? Можно попробовать подключиться через SSMS и спокойно посмотреть всю структуру базы, или построить диаграмму, чтобы понять зависимости.

Либо я не очень понял задачу.
23 май 13, 08:58    [14336645]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Мониторинг изменений всей базы.
Guest
Сергей Викт.,

Доступ через SSMS к базе есть, но в базе около 200 таблиц и открывать каждую для просмотра, а что же там изменилось достаточно трудоемко.
23 май 13, 10:01    [14336966]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Мониторинг изменений всей базы.
Доступ через SSMS к базе есть, но в базе около 200 таблиц и открывать каждую для просмотра, а что же там изменилось достаточно трудоемко.

Если вас интересуют команды, которые ваше приложение отправляет серверу, то для их трассировки используют Profiler из стандартной устновки
23 май 13, 10:05    [14336984]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Мониторинг изменений всей базы.
Сергей Викт.,

Доступ через SSMS к базе есть, но в базе около 200 таблиц и открывать каждую для просмотра, а что же там изменилось достаточно трудоемко.


Тогда как и говорит ув. Glory - Profiler. Очень удобная штука.
23 май 13, 10:35    [14337108]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Мониторинг изменений всей базы.
Guest
Сергей Викт.,

Понял, спасибо.
23 май 13, 10:52    [14337191]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Мониторинг изменений всей базы.,

В порядке бреда. Создаёте копию базы, в ней будут храниться "опорные" значения. Запускаете приложение, работаете с ним. Приложение вносит изменения в основную базу. Дальше пишете динамический запрос, который пройдёт по всем таблицам основной базы и сравнит их с "опорными значениями" из базы-копии.
-- Поиск вставленных и проапдейченных строк
SELECT * FROM main_db.schema.table
EXCEPT
SELECT * FROM copy_db.schema.table

-- Поиск удалённых и проапдейченных строк
SELECT * FROM copy_db.schema.table
EXCEPT
SELECT * FROM main_db.schema.table
23 май 13, 11:24    [14337366]     Ответить | Цитировать Сообщить модератору
 Re: Мониторинг изменений на уровне всей базы.  [new]
kain111
Member

Откуда:
Сообщений: 227
почему никто не предостерег ТС о нежелательности такого пути. Я понимаю экспорт данных и анализ или построение отчета на них, но импорт данных в незнакомую систему логика которой для вас черный ящик может статься непосильной задачей. Например ситуация не известное вам поле всегда заносится как NULL, а в приложении смотрится как флаг какой ни будь задачи, которую необходимо применять в високосный год. Я не говорю что это не возможно, но будьте крайне внимательны и конечно же забэкаптесь.
автор
база достаточно большая (около 100 таблиц)

автор
но в базе около 200 таблиц

тем более когда в базе за какой то час колилчество таблиц выросло в 2е :)
23 май 13, 13:23    [14338286]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить