我正在考虑使用扩展属性来存储表和列描述,但我希望能够搜索所有表的描述,以查找特定子字符串的出现。
在以下示例中,显示的函数返回表“PEOPLE”的列描述列表。这些描述存储为名称为“MS_DESCRIPTION”的扩展属性。
SELECT
cast(VALUE AS VARCHAR(8000)) AS [DESCRIPTION]
FROM
::fn_listextendedproperty(NULL
,'user'
,'dbo'
,'table'
,'PEOPLE'
,'column'
,NULL)
但是,如何在所有表中搜索给定子字符串的所有列描述?
SELECT
cast(VALUE AS VARCHAR(8000)) AS [DESCRIPTION]
FROM
::fn_listextendedproperty(NULL
,'user'
,'dbo'
,'table'
,'?'
,'column'
,NULL)
where cast(VALUE AS VARCHAR(8000)) LIKE '%SEARCH%'
是否有更有效的搜索方法可以避免将 VALUE 字段从 SQL_VARIANT 转换为 varchar?
将此元数据存储在用户定义的自定义表中而不是使用扩展属性会更明智吗?