인덱스의 온라인 재구성을 허용하지 않는 유형의 데이터베이스에 몇 개의 인덱스가 있기 때문에 유지 관리 작업에 실패했습니다. 내 산업에서 오프라인은 옵션이 아니므로 특정 인덱스에서 인덱스를 다시 작성하는 자체 T-SQL 태스크를 만들어야합니다. 데이터베이스는 테이블과 인덱스가 많아서 커지므로 모든 인덱스와 해당 데이터 유형을 시스템에 쿼리하는 방법이 있습니까?SQL Server 2005에서 데이터 형식과 함께 데이터베이스의 모든 인덱스를 검색하는 방법은 무엇입니까?
이select o.name as [object_name],
ix.name as [index_name],
coalesce(c.name,cc.name) as [column_name],
t.name as [type_name],
coalesce(c.max_length, cc.max_length) as max_length
from sys.indexes ix
join sys.objects o
on ix.object_id = o.object_id
left join sys.index_columns ic
on ix.object_id = ic.object_id
and ix.index_id = ix.index_id
and ix.index_id > 1
left join sys.columns c
on ic.object_id = c.object_id
and ic.column_id = c.column_id
left join sys.columns cc
on ix.object_id = cc.object_id
and ix.index_id in (1,0)
join sys.types t
on t.system_type_id = coalesce(c.system_type_id,cc.system_type_id)
where o.type = 'U'
order by object_name, index_name, column_name;
그런 다음에 대한 안전하지 않은 사람을 식별 할 수
확신 http://dba.stackexchange.com/questions/11389/is-staggering은 "HasBlobs"플래그가 -reindexing-jobs-a-good-strategy-mssql/11390 # comment16991_11390)이이를 고려합니다. –