如何在SQL Server中列出所有索引视图?

如何获得具有索引​​(即索引视图)的SQL Server数据库中的视图列表? 我发现运行“ALTER VIEW”非常容易,因为我正在开发并忽略了我不仅要编辑视图而且还要删除现有索引。所以我认为有一个小的实用程序查询会很好,这将使用索引列出所有视图。     
已邀请:
SELECT o.name as view_name, i.name as index_name
    FROM sysobjects o 
        INNER JOIN sysindexes i 
            ON o.id = i.id 
    WHERE o.xtype = 'V' -- View
    
我喜欢使用更新的系统表:
select 
    OBJECT_SCHEMA_NAME(object_id) as [SchemaName],
    OBJECT_NAME(object_id) as [ViewName],
    Name as IndexName
from sys.indexes
where object_id in 
  (
    select object_id
    from sys.views
  )
内连接版本
select 
    OBJECT_SCHEMA_NAME(si.object_id) as [SchemaName],
    OBJECT_NAME(si.object_id) as [ViewName],
    si.Name as IndexName
from sys.indexes AS si
inner join sys.views AS sv
    ON si.object_id = sv.object_id
    

要回复问题请先登录注册