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

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 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的速度。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
关系型数据库 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)")
|
3月前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
358 3
|
3月前
|
SQL 存储 数据库
备份SQL语句
【8月更文挑战第20天】备份SQL语句
38 3
|
3月前
|
SQL 数据库
SQL Server 如何进行备份?
【8月更文挑战第20天】SQL Server 如何进行备份?
61 3
|
3月前
|
SQL 存储 数据库
SQL Server 中的备份类型详解
【8月更文挑战第31天】
70 0
|
3月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
57 0
|
3月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
145 0
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
111 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
4月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
60 6