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

Откуда: Прага
Сообщений: 776
Добрый день, товарищи!

Есть софт, который работает с OLAP. OLAP строиться на основе views в отдельной базе (db_O). Эта база смотрит в таблицы другой базы - склада данных (db_I). Данные в таблицы db_I заливают процедуры по ночам, и посылают логи обработки. Если какая-то процедура падает -> данные в OLAP не актуальные/не доступные. И наоборот - не обновился OLAP -> скорее всего скрытая ошибка в процедуре обработки данных или view.

Т.з: нужно зная имя объекта OLAP пройтись по цепочке и построить дерево зависимостей с процедурами на конце. И наоборот - по процедуре узнать, какие объекти в OLAP c ней связанны.

Что уже есть:
1) clr, которая определяе источник объекта OLAP из метаданных (сверху вниз)
2) Списки процедур, их взаимозависимостей и таблиц, в которые они пишут (снизу вверх)

Но между данными склада и данными OLAP лежит прослойка из db_O view, зависимости в которых и хочется получить. Желательно все, желательно запросом к системным таблицам, так, как это строит SSMS когда правой кнопкой мышки смотришь зависимости (View Dependencies)

Есть конечно INFORMATION_SCHEMA.VIEW_TABLE_USAGE и это, дефакто, то, что нужно, но в ней нету зависимостей от соседней базы (другого каталога) :( А поскольку view в db_O ссылаются на таблицы db_I, то там практически ничего нет.
Но View Dependencies зависимости объектов отображает корректно, откуда он берёт информацию?
27 фев 17, 19:51    [20248550]     Ответить | Цитировать Сообщить модератору
 Re: View dependences  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
sys.sql_expression_dependencies
sys.dm_sql_referenced_entities
sys.dm_sql_referencing_entities
27 фев 17, 19:55    [20248560]     Ответить | Цитировать Сообщить модератору
 Re: View dependences  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35384
Блог
Шыфл
Но между данными склада и данными OLAP лежит прослойка из db_O view, зависимости в которых и хочется получить


Зачем? Ну получили вы, что на объект, вызвавший ошибку, влияет 50 процедур.
Дальше все равно нужно смотреть глазами каждую.
27 фев 17, 21:45    [20248831]     Ответить | Цитировать Сообщить модератору
 Re: View dependences  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8815
Выполняйте проверки перед загрузкой данных, это как-то снизит риски нарушения целостности.
28 фев 17, 13:31    [20250760]     Ответить | Цитировать Сообщить модератору
 Re: View dependences  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 776
invm
sys.sql_expression_dependencies
sys.dm_sql_referenced_entities
sys.dm_sql_referencing_entities

Спасибо тебе, добрый ЭЭх! Я так понимаю, что последние 2 процедуры и есть то, что рисует View Dependences?

Критик
Шыфл
Но между данными склада и данными OLAP лежит прослойка из db_O view, зависимости в которых и хочется получить

Зачем? Ну получили вы, что на объект, вызвавший ошибку, влияет 50 процедур.
Дальше все равно нужно смотреть глазами каждую.

Ну нет, это как раз и делается для того, чтобы 50 процедур превратить в 1-2 и найти человека, который эти процедуры писал/поддерживает. Речь идёт о коробочном софте с кастомизированным складом - проектов уже больше 100, есть как более-менее типичные, так и более-менее уникальные. Период "спонтанной поддержки" пройден, нужно систематизировать и поддержку, и ответственность. Счас как раз работаем над автоматической обработкой логов

Владислав Колосов
Выполняйте проверки перед загрузкой данных, это как-то снизит риски нарушения целостности.

Проектов больше 100, писали их разные люди в разное время, большинство из них в фирме уже не работают, а проекты работают, большинство - как часы. В 95% ошибок - ошибки в данных, которые падают именно в момент проверки. Нужно просто найти источник данных ошибки и объяснить клиенту, в чём он не прав, когда посылает невалидные данные. И, если нужно, добавить ещё одну проверку.
28 фев 17, 14:17    [20250946]     Ответить | Цитировать Сообщить модератору
 Re: View dependences  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Шыфл
Я так понимаю, что последние 2 процедуры и есть то, что рисует View Dependences?
Возможно.
Берете профайлер и смотрите что делает студия при показе зависимостей.
28 фев 17, 14:24    [20250977]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить