小编Rel*_*ike的帖子

可以同时运行两个 DBCC INDEXDEFRAG 命令,每个命令都在不同的表上吗?

我目前正在运行一个脚本,该脚本对 SQL Server 2005 数据库中的每个表执行 DBCC INDEXDEFRAG,一次一个表。由于空间限制和正常运行时间要求,不能使用 DBCC DBREINDEX 代替 INDEXDEFRAG。

我注意到对某些表进行碎片整理需要很长时间。例如,如果我检查“sys.dm_exec_requests”动态管理视图,我可以看到以下 INDEXDEFRAG 当前正在处理 table_id 为 829610394 的表的聚集索引:

DBCC INDEXDEFRAG (0, 829610394, 1)

我知道在碎片整理过程完成之前需要很长时间。撇开当前运行的脚本最终会对所有表进行碎片整理的事实不谈,在当前命令执行时,我在另一个表的聚集索引上手动运行另一个 DBCC INDEXDEFRAG 有什么危害吗?如果我这样做,实际上会同时对两个表进行碎片整理吗?

index sql-server-2005 sql-server dbcc

9
推荐指数
2
解决办法
1918
查看次数

标签 统计

dbcc ×1

index ×1

sql-server ×1

sql-server-2005 ×1