本文主要说说以下3个方面的操作: 1、数据库备份:本文以sever 2008 R2为例 2、索引优化:本文以sever 2008 R2为例 3、个别账号卡顿优化:见另外一篇文章https://blog.csdn.net/hzfw2008/article/details/77572778 数据库备份或索引优化工作最好在闲时处理,否则会影响用户使用体验。 数据库备份: 3、SSMS维护计划:比前两者又进阶了一些,需要使用前需要确保sql server 代理服务运行正常; 索引优化: 2、SSMS全部重新组织/重新生成索引:大水漫灌式优化。 例1:重建某个索引 DBCC DBREINDEX ('T_ITEM', uk_item2, 80) 例2:重建所有索引 DBCC DBREINDEX('T_ITEM','',80) 例:DBCCSHOW_STATISTICS('t_item','pk_item') sp_updatestats & UPDATE STATISTICS 更新统计信息; sp_updatestats 对当前数据库中所有 用户定义的表运行 UPDATE STATISTICS.使用UPDATE STATISTICS 语句的时机:在一个空表上创建一个索引,然后在以后应用它。执行TRUNCATETABLE语句,然后在以后重新应用该表。通过使用FULLSCAN或SAMPLE选项请求明细的索引统计信息。 例1. UPDATE STATISTICST_ITEM 例2. UPDATE STATISTICST_ITEM(PK_ITEM) 例 3. USE AIS20011203150410 EXEC sp_updatestats DBCC CHECKTABLE 检查指定表或索引视图的数据、索引及 text 、ntext 和 image 页的完整性。如果你相信一个指定的表可能被破坏了,这条命令非常有用。 DBCC CHECKDB 检查指定数据库中的所有对象的分配和结构完整性。这条命令发现并修复数据库地址分配和表内部的全部错误。实际上,CHECKDB验证数据库内部一切事物的完整性,但是,DBCCCHECKDB是一个耗费CPU和磁盘资源的操作,每个需要检查的数据都必须首先从磁盘中读出到内存中。而且,DBCCCHECKDB 使用tempdb进行排序。要获得较高的DBCC性能,推荐在下面的情况下运行DBCC: 注意事项: l 在系统使用率较低的情况下运行CHECKDB; l 确信当前没有执行其他磁盘I/O操作,如磁盘备份操作; l 将tempdb放在另一个磁盘系统上,或者放在一个快速磁盘子系统上; l 为tempdb提供足够的空间,运行DBCC带上参数ESTIMATE ONLY(显示执行 DBCCCHECKDB 操作所需tempdb空间的数量 ),估计tempdb需要多少磁盘空间; l 避免运行消耗大量CPU时间的查询和批处理; l 在DBCC命令运行时,减少事物活动; l 使用NO_INFOMSGS选项(压缩使用空间使用的信息和报告 )减少处理和tempdb使用率。 例:DBCC CHECKDB('AIS20011203150410') WITH NO_INFOMSGS,ESTIMATEONLY DBCCSQLPERF 提供有关所有数据库中的事务日志空间使用情况的统计信息。日志文件的闲余空间的减少,会降低系统的性能。系统会在备份时日志截断日志文件,所以要求用户要制定一份良好的备份方案。例:DBCC SQLPERF (LOGSPACE ) |
|