используйте tsql для обнаружения зависимости XML - PullRequest
1 голос
/ 07 октября 2011

У меня есть XML-схема, связанная с таблицей. однако, иногда тестеры совмещают и привязывают к этой схеме тоже. когда есть ссылка на таблицу XML "ниндзя", любое изменение этой схемы будет болезненным.

Я бы хотел выполнить запрос перед изменением схемы и вызвать исключение, если схема XML связана с несколькими таблицами. Я посмотрел на sys.sql_dependencies и несколько других таблиц sys.xml_XXXX, но не ясно, как это сделать в TSQL. возможно ли что-то подобное?

1 Ответ

0 голосов
/ 07 октября 2011

Может быть полезно что-то вроде этого

select object_name(object_id) as TableName, 
       col_name(object_id, column_id) as ColumnName
from sys.column_xml_schema_collection_usages as U
  inner join sys.xml_schema_collections as S
    on U.xml_collection_id = S.xml_collection_id
where S.name = 'YourXMLSchemaCollectionName'    

Это поможет вам найти, где схема используется в параметре XML.

select object_name(object_id) 
from sys.parameter_xml_schema_collection_usages as P
  inner join sys.xml_schema_collections as S
    on P.xml_collection_id = S.xml_collection_id
where S.name = 'YourXMLSchemaCollectionName'    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...