搜索字段的所有视图

Search All Views For A Field

我正在使用 SQL Server 2008,我需要找到仍在使用的包含旧命名约定的视图,以便我可以更新字段名称。这些视图都是一个服务器和数据库的核心,但我不太确定执行此操作的语法。这就是我目前所拥有的,它将为我提供数据库中所有视图的列表,但是我如何搜索列表中的每个视图名称以查看它们是否包含名为(仅示例)TaxYear

的字段
Create Table #T (ID Int Identity Not Null, ViewNames VARCHAR(1000)
Insert Into #T (ViewNames)
Select '['+C.Table_Catalog+'].['+C.Table_Schema+'].['+C.Table_Name+']' TableName
FROM Information_Schema.Columns c
Join information_schema.Tables T on C.Table_Catalog = T.Table_Catalog 
AND C.Table_Schema = T.Table_Schema
AND C.Table_Name = T.Table_Name
Where T.Table_Type = 'View'
Group By '['+C.Table_Catalog+'].['+C.Table_Schema+'].['+C.Table_Name+']'

我用的是这样的:

SELECT OBJECT_NAME(object_id)  as OBJ_NAME 
FROM sys.sql_modules 
WHERE OBJECTPROPERTY(object_id, 'IsView') = 1 
AND definition LIKE '%mySearchString%' 
order by OBJ_NAME

这将 return 视图的名称。我还使用它通过将 "IsView" 更改为 "IsProcedure"

来搜索存储过程

这个方法需要一点时间,我相信我在代码项目中找到了这个并且已经使用了多次

select table_name, column_name 
from information_schema.columns
where column_name like '%taxyear%'