2011-10-07 72 views
1

我有绑定到表的XML模式。但是,有时测试人员也会搭载并绑定到此架构。当有这个“ninja”XML表引用时,对这个模式的任何改变都是痛苦的。使用tsql检测XML依赖关系

我想在模式更改之前运行查询,并在XML模式绑定到多个表时引发异常。我查看了sys.sql_dependencies和其他sys.xml_XXXX表中的一些,但不清楚如何在tsql中执行此操作。是这样的可能吗?

回答

0

像这样的东西可能会有所帮助

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'