手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >找出所有非xml索引并重新整理的sql
找出所有非xml索引并重新整理的sql
摘要:复制代码代码如下:DECLAREcurCURSORFORSELECT[object_name]=s.name+'.'+OBJECT_NAME...

复制代码 代码如下:

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】相关文章:

sqlserver 数据库日志备份和恢复步骤

SQL Server 2008用'sa'登录失败,启用'sa'登录的解决办法

Sqlserver 2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

在SQL Server启动时自动执行存储过程。第1/2页

SQL SERVER修复系统表错误不匹配的问题

SQLServer 循环批处理

Sql2005注射辅助脚本[粗糙版]

Sql 批量替换所有表中内容

sqlserver 一张表两列都的值都相同处理

ASP数据库编程SQL常用技巧

精品推荐
分类导航