dbcc mysql_如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作

如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作 其实这个问题已经在《SQLSERVER企业级平台管理实践》里徐老师已经讲过了,不过我想用自己的语言再讲详细一些 笔记链接:笔记19-徐 如何在超大型数据库上运行DBCC CHECKDB 先来看一下表分区的概念图

如何在大型的并且有表分区的数据库中进行DBCC CHECKDB操作

其实这个问题已经在《SQLSERVER企业级平台管理实践》里徐老师已经讲过了,不过我想用自己的语言再讲详细一些

笔记链接:笔记19-徐 如何在超大型数据库上运行DBCC CHECKDB

先来看一下表分区的概念图

207f4f7e86e19b43160779c6b2acca4e.png

很多时候你或者因为性能问题而使用表分区技术,将一些数据放到不同的分区,而这些数据实际上是被逻辑的放到不同的文件组里

大家知道:不管是索引还是数据,文件组都是这些索引和数据存放的最小逻辑单位

文件组是文件的命名集合,用于简化数据存放和管理任务(例如,备份和还原操作,文件组备份和文件组还原)

MSDN 使用文件和文件组 :(v=sql.90).aspx

那么假如我有一个表使用了表分区技术,如下图

1d1d2fe28e8c9fc13bd9522f5fc41787.png

表中索引和数据放在这3个文件组中,其中历史数据/归档数据放在文件组1,索引放在文件组2,当前数据放在文件组3

当然,真实环境中的大型数据库会有更多的文件组用来存放不同的历史数据和索引!!

对于使用了分区表机制的数据库,对于存储历史数据的分区文件组,由于数据本身已经不会发生修改,我们可以把文件组类型设成只读模式,

防止任何误修改。

步骤一:

我们可以对文件组1进行一次DBCC CHECKFILEGROUP检查,如果没有错误,就将文件组1设置为只读,

这样以后就不用再执行DBCC CHECKFILEGROUP检查了,,因为文件组1是只读的,不会再对它进行修改

我们使用下面SQL语句检查文件组1是否有错误

CHECKFILEGROUP(1)4 GO

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值