我有一个绑定到表的XML模式。但是,有时测试人员也会捎带并绑定到这个模式。当有这个“ninja”XML表引用时,对这个模式的任何改动都是痛苦的。
我想在架构更改之前运行查询,如果XML架构绑定到多个表,则引发异常。我查看了sys.sql_dependencies和其他一些sys.xml_XXXX表,但目前还不清楚如何在tsql中执行此操作。是这样的吗?
答案 0 :(得分: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'