对 SQL Server 数据库磁盘驱动器进行碎片整理

12/02/2020

本文内容

本文提供了有关 SQL Server 数据库驱动器的碎片整理的一些指南。

原始产品版本:   SQL Server

原始 KB 数:   3195161

是否应在操作系统层对 SQL Server 磁盘进行碎片整理

这取决于当前驱动器的碎片状态。 通常情况下,它不会受到影响,并且可能会有所帮助,假定您遵循 "对 SQL Server 数据库驱动器进行碎片整理时的预防措施 " 一节中介绍的预防措施。 唯一的负是必须关闭 SQL Server ,除非碎片整理工具支持事务性数据功能。 好消息是,在运行碎片整理之后,您不必再次执行此操作,除非您有许多自动增长和其他文件在磁盘上移动。 请务必了解该实用工具使用的任何写缓存策略。 通过此类实用程序进行缓存可能涉及非电池备份缓存,这可能会违反 WAL 协议要求。

更多信息

磁盘碎片整理程序将所有文件(包括数据库文件)移动到硬盘上的连续群集中。 这优化并加速了文件访问。 除了 Windows NT 操作系统之外,如果不对硬盘进行碎片整理,操作系统可能需要转到磁盘上的多个物理位置以检索数据库文件,从而使文件访问速度变慢。

由于物理数据访问是 i/o 请求的成本最高的部分,因此碎片整理可提高 SQL Server 和其他应用程序的性能。 与位置相关的数据块彼此接近,可减少 i/o 操作要求。

目前市场上提供了各种碎片整理实用程序。 某些实用程序可对打开的文件启用碎片整理,而其他一些实用程序则需要关闭文件碎片整理或在文件关闭状态下使用时性能更好。 此外,有些实用工具具有事务性功能,而有些则不具有。

对 SQL Server 数据库驱动器进行碎片整理时的注意事项

评估用于 SQL Server 的碎片整理实用程序时,请确保该实用工具提供事务性数据功能。 具体来说,请选择提供以下事务性数据功能的碎片整理实用程序:

在成功建立新扇区并成功复制数据之前,不会将原始扇区视为已移动。

此实用程序可防止系统故障(如断电),以一种安全的方式在逻辑上和物理上保持文件不变。 为保证数据完整性,强烈建议在基于 SQL Server 的文件上运行碎片整理实用程序时,pullthe 测试。

Write-Ahead (WAL) 协议的日志记录需要防止重写扇区,以避免数据丢失。 只要文件执行任何数据移动,该实用工具就必须保持文件的物理完整性。 该实用工具应以事务性方式在扇区边界上运行,以保持 SQL Server 文件不变。

该实用工具应提供适当的锁定机制,以确保文件为任何修改保留一致的图像。 例如,应用工具应确保原始扇区在复制到新位置时不能修改。 如果允许进行修改,则碎片整理实用程序可能会丢失写入。

不应使用不提供这些事务性数据功能的关键磁盘 defragmenters,除非已关闭使用磁盘进行碎片整理的 SQL Server 实例,以便不会对打开的数据库文件进行碎片整理。

打开文件碎片整理引发了几个已关闭文件碎片通常不会出现的问题:

打开文件碎片整理会影响性能。 碎片整理实用程序可能会锁定文件的各个部分,从而阻止 SQL Server 完成读取或写入操作。 这可能会影响运行 SQL Server 的服务器的并发性。 请与磁盘碎片整理工具的制造商联系,了解文件的锁定方式以及这些文件对 SQL Server 并发的影响。

打开文件碎片整理可能会影响写入缓存和排序。 基于打开文件的实用程序要求输入/输出路径组件;这些组件不得更改写入操作的排序或预期性质。 如果 "写入" 或 "WAL 协议" 租户已损坏,则可能会发生数据库损坏。 数据库和所有关联的文件都被视为单个实体。 (这将在许多 Microsoft 知识库文章、SQL Server 联机丛书和各种白皮书中进行介绍。 ) 所有写入都必须保留原始的写入顺序序列和写入功能。

建议

在创建新数据库或将现有数据库移动到该卷之前,对 NTFS 卷进行碎片整理(除非已格式化)。

在首次创建数据库时,请确保规划和调整 SQL 数据和日志文件的大小并适当。

创建您的 SQL Server 2014 事务日志,并在需要时记住自动增长。

对您的事务日志所在的一个或一张或一些磁盘进行碎片整理。 这将阻止事务日志的外部文件碎片。 如果您的文件的自动增长量较大,或者您的文件不是包含许多数据库、日志或已修改的其他文件的专用磁盘,则可能会出现此问题。 在这种情况下,可能会交错和碎片化文件 (包括事务日志文件) 。

如果要对作为群集磁盘的数据库驱动器进行碎片整理,应将群集磁盘设置为挂起运行状况监视 (也称为 维护模式) 。

若要最大限度地减少碎片,请不要收缩数据库文件。 此外,手动将其大小增加到最小化增长活动的大小。

将数据库文件保留在专用磁盘上。

在对包含 SQL Server 数据库和备份文件的那些位置进行碎片整理之前,请先执行完整备份。

参考

mysql文件碎片整理_对数据库磁盘驱动器进行碎片整理 | Microsoft Docs相关推荐

  1. 【MySQL 第17章_其他数据库日志】

    第17章_其他数据库日志 1.MySQL支持的日志 1.1日志类型 1.2日志的弊端 2.慢查询日志(slow query log) 3.1问题场景 3.2 查看当前状态 3.3 启动日志 3.4 查 ...

  2. 改变mysql的数据编码格式_修改数据库编码格式(转)

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:&g ...

  3. 增大mysql修改表空间_扩充数据库表空间

    ALTER TABLESPACE ADD DATAFILE , [REUSE] NEXT MAXSIZE <>中是你要填的内容,有|是选其一. 如:增加文件是d:\dbfs\mydatab ...

  4. 建立一个mysql 文件命令是_使用命令行创建数据库

    今天针对如何在Linux操作系统上利用命令行创建Oracle Database进行一个总结及实践. 下面是官方文档"Database Administrator's Guide"中 ...

  5. MySQL保存计算结果_在数据库中保存计算结果如何对应到相应的工程文件

    展开全部 这个可以用代码予以实现 例如有32313133353236313431303231363533e58685e5aeb931333431343638 订单表(订单ID,商品ID,数量,单价,金 ...

  6. pe下备份mysql文件在哪里_系统瘫痪,肿么用PE导出SQL2000数据库的数据?

    用这个数据恢复软件吧 一.软件概述 北亚文件系统数据恢复Windows版可以恢复Windows用户在使用过程中丢失的数据(误删除文件.误格式化硬盘.U盘/手机存储卡数据丢失.误清空回收站.磁盘分区消失 ...

  7. sql数据库和mysql有什么区别_【数据库】MySQL和sql的区别有哪些 - 收获啦

    sql是什么? sql,全称:结构化查询语言(Structured Query Language),是一种用于操作数据库的语言,它是用于所有数据库的基本语言.虽然,不同数据库之间存在较小的语法更改,但 ...

  8. linux mysql 文件夹权限_找到linux文件夹

    FineReport关于Linux下字体乱码终极解决方案 1:在windows下找到系统使用到的字体,这里以楷体举例 •到c盘的windows文件夹的Fonts文件夹里面存放了windows中用到的所 ...

  9. mysql 表字段大小写敏感_各种数据库大小写敏感问题总结

    各种数据库大小写敏感问题总结 (2015-01-28 16:04:42) 标签: 股票 hsql: 不区分大小写 mysql: windows下不区分大小写:linux下database名,table ...

最新文章

  1. python详细安装教程环境配置-Python的安装教程与环境配置
  2. [原创]JavaScript应用技巧集合
  3. python集合类型中的元素是有序的_Python数据类型之集合set
  4. python访问webservice接口
  5. 27. 面向对象程序设计(2)
  6. VirtualBox一类系统只能出现一个?
  7. java关于排版的说法正确是_Java代码规范--排版,命名---以及一个例子
  8. 牛客网 F-The Biggest Water Problem
  9. iconfont图标本地使用
  10. cocos2d-js 开发常见问题
  11. Excel合并单元格怎么分组排序?
  12. VUE前端二级部门联动下拉菜单
  13. 十大经典排序算法(图解与代码)——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序(Python and Java)
  14. 【大数据之Linux】
  15. 王瑞平:挺和合国际收《火火的情怀》建交朱之文高安孟文豪谷传民
  16. SringCloud
  17. pyhton 中的点乘,点除 与交叉乘 交叉除的区别
  18. 神界计算机丢失msvcp120.dll,如何解决电脑丢失MSVCP120.DLL
  19. 【优测干货分享】微信测试工程师手把手教你做弱网络模拟测试
  20. 第3章-22 输出大写英文字母 (15 分)

热门文章

  1. 如何理解无偏估计?无偏估计有什么用?什么是无偏估计?
  2. linux7停止计划,CentOS 7进程和计划任务管理
  3. Video Processing subsystem例程分析
  4. echarts图表中的距离
  5. 从瀚海到万家,易开得为净水器开辟新航道
  6. C# Cad拾取多段线
  7. DSP6748 upp接口
  8. Web3再怎么牛 也不能逃出这几个老巨头的五指山
  9. 解决CubeCloud Centos7系统firewalld不能启动的问题 简单的使用
  10. matlab 解方程 无穷解,成都火灾