请教大家,如何检查并整理SQL 2000数据库碎片?

qq451763407 2011-09-24 06:20:51
请教大家,如何检查并整理SQL 2000数据库碎片?
谢谢
1
...全文
133 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2011-09-24
  • 打赏
  • 举报
回复
--查询数据库db中表tb的所有索引的碎片情况
use db
go
select
a.index_id,---索引编号
b.name,---索引名称
avg_fragmentation_in_percent---索引的逻辑碎片
from
sys.dm_db_indx_physical_stats(db_id(),object_id(N'create.consume'),null,null,null) as a
join
sys.indexes as b
on
a.object_id=b.object_id
and
a.index_id=b.index_id
go

---解释下sys.dm_db_indx_physical_stats的参数
datebase_id: 数据库编号,可以使用db_id()函数获取指定数据库名对应的编号。
object_id: 该索引所属表或试图的编号
index_id: 该索引的编号
partition_number:对象中分区的编号
mode:模式名称,用于指定获取统计信息的扫描级别。


有关sys.dm_db_indx_physical_stats的结果集中的字段名去查下联机丛书。
qq451763407 2011-09-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
SQL code
--查询数据库db中表tb的所有索引的碎片情况
use db
go
select
a.index_id,---索引编号
b.name,---索引名称
avg_fragmentation_in_percent---索引的逻辑碎片
from
sys.dm_db_indx_physical_stats(db_id(),object_id(N'crea……
[/Quote]

多谢~
--小F-- 2011-09-24
  • 打赏
  • 举报
回复
--查询数据库db中表tb的所有索引的碎片情况
use db
go
select
a.index_id,---索引编号
b.name,---索引名称
avg_fragmentation_in_percent---索引的逻辑碎片
from
sys.dm_db_indx_physical_stats(db_id(),object_id(N'create.consume'),null,null,null) as a
join
sys.indexes as b
on
a.object_id=b.object_id
and
a.index_id=b.index_id
go

---解释下sys.dm_db_indx_physical_stats的参数
datebase_id: 数据库编号,可以使用db_id()函数获取指定数据库名对应的编号。
object_id: 该索引所属表或试图的编号
index_id: 该索引的编号
partition_number:对象中分区的编号
mode:模式名称,用于指定获取统计信息的扫描级别。


有关sys.dm_db_indx_physical_stats的结果集中的字段名去查下联机丛书。
dawugui 2011-09-24
  • 打赏
  • 举报
回复
另外,也请收缩数据库.

DBCC INDEXDEFRAG
整理指定的表或视图的聚集索引和辅助索引碎片。

dawugui 2011-09-24
  • 打赏
  • 举报
回复
DBCC INDEXDEFRAG
整理指定的表或视图的聚集索引和辅助索引碎片。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧