IT之道-艾锑知道

您当前位置: 主页 > IT服务 > 网络服务 >

网络管理 数据库维护操作的方法


2015-09-24 08:51 作者:admin

u=2065062565,3509147328&fm=207.jpg

  数据库维护是网络管理员工作中非常重要的一部分。一个SQL Server数据库就像一辆车:它需要经常的检查来保证运行没有问题,副作用,且拥有最大可能的性能。SQL Server数据库最重要的部分是它的索引及其对应的统计信息对象。SQL Server运行一段时间后会有索引碎片,统计信息必须更新,这样的话查询优化器才可以为你生成“足够好”的执行计划。

  1.索引(聚集,非聚集)会产生碎片。索引意味着逻辑和物理排列顺序不再一致。如果你在传统旋转存储上存储你的数据库,索引碎片在你的存储子系统里带来随机I/O,与快速的循序I/O相比,它非常耗时。微软建议下列索引维护的最佳实践:

  碎片低于10%:不进行维护

  碎片在10-30%:进行索引重组操作

  碎片大于30%:进行索引重建操作

  此外,索引重组和索引重建操作应该只有在叶子层的页数至少有10000页才可以。如果你没有达到这个阈值,你不会看到随机I/O带来的副作用消失。索引重建(Index Rebuild)操作会完全重建你的索引。它是一个在事务日志里完全记录的“大”事务。在99%进度的时候回滚你的重建操作是个非常不好的想法,因为SQL Server需要把已做过的(有益的一面)全部重做一遍。因为你的回滚会花费很长时间。因为索引重建会重新生成你的整个索引,你的统计信息也会用全扫描更新。(网络维护外包)

  另外,因为它是个大事务,如果这时你使用基于事务日志的HA技术就会有问题——例如数据库镜像或AlwaysOn可用组。SQL Server需要发送你的整个事务到镜像(或复制的地方)。那就意味着你的网络流量里有大量的事务日志记录。这对你的HA策略会有很大的副作用。

  作为一个替代方法,索引重组(Index Reorganize)操作只处理你的索引的叶子层,重组叶子层的逻辑排序。因此,索引重组不会为你更新统计信息。索引重组只包含多个小的系统事务。因此它不会在事务日志上带来太大压力,因为虚拟日志文件可以为了更快的重用而被标记。索引重组操作对使用数据库镜像或AlwaysOn可用组都是有益的,因为使用索引重组操作你没有给网络流量里倒入大量的事务。

  如何进行维护操作?(it外包)

  我经常被问到的问题是在SQL Server里如何进行维护操作。这里推荐使用Ola Hallengren提供的SQL Server维护解决方案。这个解决方案包含一些列的存储过程,使用它们你可以继续宁数据库一致性检查,备份,还有索引维护操作。索引碎片等级就是你提供存储过程的参数值。我们来看看下列IndexOptimize存储过程的调用:

  EXEC [master].[dbo].[IndexOptimize]

  @Databases = 'AdventureWorks2012',

  @FragmentationLow = 'INDEX_REBUILD_OFFLINE',

  @FragmentationMedium = NULL,

  @FragmentationHigh = NULL,

  @FragmentationLevel1 = 10,

  @FragmentationLevel2 = 30,

  @PageCountLevel = 10000,

  @SortInTempdb = 'N',

  @MaxDOP = NULL,

  @FillFactor = NULL,

  @PadIndex = NULL,

  @LOBCompaction = 'Y',

  @UpdateStatistics = NULL,

  @OnlyModifiedStatistics = 'N',

  @StatisticsSample = NULL,

  @StatisticsResample = 'N',

  @PartitionLevel = 'N',

  @TimeLimit = NULL,

  @Indexes = NULL

  @Delay = NULL,

  @LogToTable = 'Y',

  @Execute = 'Y'

  GO

  从代码里你可以看到,你可以指定不同的碎片等级作为参数(FragmentationLevel1, FragmentationLevel2)。最后对于这些碎片等级你指定你想要进行的索引操作(FragmentationLow, FragmentationMedium, FragmentationHigh)。在SQL Server里它是非常简单,却是非常强大的进行索引维护操作的方法。(电脑维护外包)

  艾锑无限是中国领先IT外包服务商,专业为企业提供IT运维外包、电脑维护网络维护、网络布线、办公设备维护、服务器维护数据备份恢复、门禁监控、网站建设等多项IT服务外包,服务热线:400-650-7820 联系电话:010-62684652 咨询QQ1548853602 地址:北京市海淀区北京科技会展2号楼16D,用心服务每一天,为企业的发展提升更高的效率,创造更大的价值。

  更多的IT外包信息尽在艾锑无限http://www.itbmw.com


相关文章

IT外包服务
二维码 关闭