SQL Server备份属于I/O密集型操作

简介: SQL Server备份属于I/O密集型操作。简单来说,你需要首先进行读操作,然后再写整个数据库的内容。下面是几个可以改善I/O吞吐量的步骤:   向尽可能多的磁盘做写操作   使用尽可能多的磁盘驱动器来分离负载量,可以是由许多块盘组成的RAID阵列或者是多个RAID阵列。
SQL Server备份属于I/O密集型操作。简单来说,你需要首先进行读操作,然后再写整个数据库的内容。下面是几个可以改善I/O吞吐量的步骤:

  向尽可能多的磁盘做写操作

  使用尽可能多的磁盘驱动器来分离负载量,可以是由许多块盘组成的RAID阵列或者是多个RAID阵列。

  从尽可能多块磁盘做读操作

  如果你的数据库跨多块磁盘分布,你可以降低I/O瓶颈。

  利用分离磁盘做读操作和写操作

  对不同的磁盘组做读操作和写操作有助于增加I/O吞吐量。

  RAID配置

  对读操作和写操作尽可能使用速度最快的RAID配置。例如,RAID 5比较慢,因为它需要对磁盘有额外的写操作。RAID 0对写操作来说是最快的,但是它不提供冗余。可以考虑使用RAID 1+0:1和0代表镜像式(1)和条带式(0),因此你可以有一个数据集镜像,而且你可以条带式跨多个镜像组合来获取额外的I/O吞吐量。既然备份首先要从数据库读,然后向备份文件写,那么写操作的优势在存储备份文件的磁盘上是显而易见的。

  控制器

  利用不同的控制器和(或者)通道来增加I/O吞吐量。另外,要使用你能买得起的最好的控制器。在购买控制器时,你应该查看端口数量,支持的最大驱动器数量,缓冲大小,电池备份和SCSI协议支持情况。要跨多个控制器或通道分离读操作和写操作活动。

  在本地写数据

  要写本地磁盘,而不要向网络连接的存储做写操作。如果数据被写到直接连接的存储设备,你可以排除掉服务器外部可能引起使备份变慢时间变长的其它因素。

  写多个设备

  除了读写多块磁盘,可以利用尽可能多的线程来增加吞吐量。这一点可以通过利用企业管理器并选择多个输出文件或者通过利用T-SQL并在备份命令中包含多个文件来做到。你还可以通过写不同磁盘子系统来进一步增加吞吐量。

  压缩备份

  利用第三方工具压缩你的备份输出。这样一来,你可以降低备份文件整个大小的90%,并将备份时间减半。因为大部分数据在数据库中是文本数据,因此它是高度可压缩的。

  把备份写到磁盘

  永远要把备份写到磁盘上,不要直接写到其他类型的介质上;在直接写到内存之后,磁盘备份是下一个最快的选择。

  快速磁盘驱动器

  使用你能得到的最快的磁盘驱动器。SCSI驱动器还是要比IDE更快,能达到高达15k RPM的速度。

目录
相关文章
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1023 13
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
1892 3
|
SQL 存储 数据库
备份SQL语句
【8月更文挑战第20天】备份SQL语句
515 3
|
SQL 数据库
SQL Server 如何进行备份?
【8月更文挑战第20天】SQL Server 如何进行备份?
657 3
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
718 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
416 6
|
SQL 分布式计算 MaxCompute
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
438 7
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1510 1
|
SQL 存储 数据库
SQL Server 中的备份类型详解
【8月更文挑战第31天】
739 0