Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Добрый день, уважаемые коллеги.
Столкнулся с таким косяком sql сервера(Microsoft SQL Server 2005 Enterprise Edition (64-bit), сборка 9.00.3068.00):
Есть процедура П_1 которая использует в своем теле табличную функцию Ф_1.
В связях все нормально т.е. в sys.sql_dependencies и sys.sysdepends(что скорее всего одно и тоже)
есть связь между этими обьектами,
НО стоит пересоздать функцию Ф_1(не изменяя кода в ней и не удаляя ее а просто сделать alter function)
как эта связь исчезает.
Потом если пересоздать процедуру П_1(опять же не меняя и не удаляя ее тела, а просто сделав alter proc) - связь опять появляется.
Как бороться с этим косяком??? Ибо нужно чтобы связь оставалась - т.к. это правильно.
И вообще косяк ли это или так задумано?
Объясните пожалуйста.
16 июн 09, 14:18    [7305217]     Ответить | Цитировать Сообщить модератору
 Re: косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Так задумано.
16 июн 09, 14:20    [7305242]     Ответить | Цитировать Сообщить модератору
 косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Гавриленко Сергей Алексеевич
Так задумано.



Блин ну это же просто ужос....
Неужели придеться руками корячиться, поднимать ddl-триггер и отлавливать все альтеры и самомоу вести таблицу связей??
16 июн 09, 14:26    [7305292]     Ответить | Цитировать Сообщить модератору
 Re: косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Crimean
Member

Откуда:
Сообщений: 13148
классика от MS на самом деле. фичу сделали давно, она никогда толком не работала. для чего сделали - непонятно. при переходе на 2005 фичу подлатали, заставили прочесать старые базы и удалить "битые" объекты. но - фича опять не работает "логично", потому как, сдается мне, цели такой опять не стояло. надо было что-то закрыть - закрыли. заодно пропеарили фичу
я п не пользовался - стремно очень. ну типа как "current of" для курсора
16 июн 09, 14:35    [7305338]     Ответить | Цитировать Сообщить модератору
 Re: косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Crimean
классика от MS на самом деле. фичу сделали давно, она никогда толком не работала. для чего сделали - непонятно. при переходе на 2005 фичу подлатали, заставили прочесать старые базы и удалить "битые" объекты. но - фича опять не работает "логично", потому как, сдается мне, цели такой опять не стояло. надо было что-то закрыть - закрыли. заодно пропеарили фичу
я п не пользовался - стремно очень. ну типа как "current of" для курсора


Что понимается под "фичей" - связи объектов?
Я бы тоже не пользовался если бы это не было нужно.
Но это очень нужно и это не обойти ни как так что прийдеться руками доделывать.
16 июн 09, 14:43    [7305381]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
В 2008 и выше
sys.dm_sql_referencing_entities
sys.dm_sql_referenced_entities


Без таких косяков, но только не воспринимают (валится) баги и отложенное определение имён.
Классика жанра.
Но мне это больше нравится - ибо нефег.

В 2005м мне приходилось писать триггер на базу/сервер, который искал по тексту обновляемый объект и делал циклический ALTER.
Но это изврат - лучше уж на новый сервер перейти.
23 дек 13, 03:29    [15331699]     Ответить | Цитировать Сообщить модератору
 Re: косяк в sys.sql_dependencies(MS_SQL 2005)  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
От блин. Пооткрывал окошек при поиске и попутал. Ссори.
23 дек 13, 03:31    [15331703]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить