跨SQL Server 2005/2008中的所有表选择自定义列类型

跨SQL Server 2005/2008中的所有表选择自定义列类型,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,目前,我有一个查询,它使用sys表返回列为特定自定义类型的所有表和列名,查询如下所示: select schemas.name, obj.name, col.name from sys.objects obj inner join sys.columns col on col.object_id = obj.object_id inner join sys.types types on types.user_type_id = col.user_type_i

目前,我有一个查询,它使用
sys
表返回列为特定自定义类型的所有表和列名,查询如下所示:

select 
    schemas.name, obj.name, col.name
from
    sys.objects obj
inner join 
    sys.columns col on col.object_id = obj.object_id
inner join 
    sys.types types on types.user_type_id = col.user_type_id 
inner join 
    sys.schemas schemas on obj.schema_id = schemas.schema_id
where 
    types.name = 'myCustomType'

但是,SQL Server数据库的安全性正在更改,我们无法再查询
sys
表。我还可以如何查询此信息?

信息\u架构视图?@SeanLange根据我阅读的一些信息,架构是sys表的视图,因此我认为我无法访问该功能。它们是系统表的视图。如果您没有访问这些对象的权限,那么您真的无能为力。
sys
架构中的这些对象是系统目录视图,而不是表。@SeanLange是否有其他解决方法?也许可以做我自己的跟踪表?