找出所有非xml索引并重新整理的sql
2009-04-15 00:00
351 查看
DECLARE cur CURSOR FOR SELECT [object_name]=s.name+'.'+OBJECT_NAME(A.object_id), B.name FROM sys.dm_db_index_physical_stats(DB_ID('AdventureWorks'),NULL,null,null,null) AS A JOIN sys.indexes AS B ON A.[object_id]=B.[object_id] AND A.[index_id]=B.[index_id] JOIN sys.objects AS o ON A.[object_id]=o.[object_id] JOIN sys.schemas AS s ON o.[schema_id]=s.[schema_id] WHERE A.[index_id]>0 AND NOT EXISTS( SELECT * FROM sys.xml_indexes WHERE A.[object_id]=[object_id] AND A.[index_id]=[index_id] ); OPEN cur; DECLARE @objname varchar(128),@indname varchar(128); DECLARE @sql nvarchar(4000); FETCH NEXT FROM cur INTO @objname,@indname; --重整所有索引,在这里先不管索引的碎片程度 WHILE @@FETCH_STATUS=0 BEGIN SET @sql='ALTER INDEX '+@indname+' ON '+@objname+' REBUILD'; EXEC(@sql); FETCH NEXT FROM cur INTO @objname,@indname; END CLOSE cur; DEALLOCATE cur;
相关文章推荐
- 找出所有非xml索引并重新整理
- [转] SQL Server 2005索引碎片整理SQL语句
- 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
- SQL存储过程之删除指定表中所有索引
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKTABLE检查组成表或索引视图的所有页和结构的完整性
- 重新编译所有无效的PL/SQL模块(对象)
- SqlServer 中所有表、列、视图、索引、主键、外键等常用sql
- 索引的碎片整理SQL语句
- SQL 找出一字段中所有重复的记录
- sql的索引:网上看到不错,整理成自己的东西
- 删除所有文档,为了重新整理!2014.1.15加油!为了目标
- 【数据库SQL实战】找出所有员工当前具体的薪水情况
- sql关于索引及索引碎片的整理
- SQL2012 重新组织和新生成索引sp_RefreshIndex
- SQL 创建索引,遍历数据库所有表
- DBCC大全集之(适用版本MS SQLServer 2008 R2)---DBCC CHECKFILEGROUP检查当前数据库中指定文件组中的所有表和索引视图的分配和结构完整性
- T-SQL中找出一个表的所有外键关联表
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享
- sql的索引:网上看到不错,整理成自己的东西