数据库备份工具-钛备份怎么备份多个数据
本文内容
适用于:
本文介绍备份 SQL Server 数据库的好处、基本备份和还原术语、SQL Server 备份和还原策略以及 SQL Server 备份和还原安全注意事项。
本文介绍 SQL Server 备份。 有关备份 SQL Server 数据库的具体步骤,请参阅。
SQL Server 备份和还原组件为保护存储在 SQL Server 数据库中的关键数据提供基本的安全性。 为了最大限度地降低灾难性数据丢失的风险,请备份数据库以便定期保存对数据的修改。 计划周密的备份和恢复策略有助于保护数据库免受由于各种故障导致的数据丢失的威胁。 通过首先恢复一组备份然后恢复数据库来测试您的策略,以便您准备好有效地应对灾难。
除了用于存储备份的本地存储外,SQL Server 还支持从 Azure Blob 存储进行备份和还原。 有关详细信息,请参阅使用 Microsoft Azure Blob 存储进行 SQL Server 备份和还原。 对于使用 Azure Blob 存储存储的数据库文件,SQL Server 2016 (13.x) 提供了使用 Azure 快照进行近乎即时备份和更快恢复的选项。 有关详细信息,请参阅 Azure 中数据库文件的文件快照备份。 Azure 还为在 Azure VM 中运行的 SQL Server 提供企业级备份解决方案。 作为完全托管的备份解决方案,它支持 AlwaysOn 可用性组、长期保留、时间点恢复以及集中管理和监控。 有关详细信息,请参阅 Azure VM 中 SQL Server 的 Azure 备份。
为什么要备份?
此外,数据库备份对于日常管理非常有用,例如将数据库从一台服务器复制到另一台服务器、设置 Always On 可用性组或数据库镜像以及存档。
备份术语表
备份[动词]
通过从 SQL Server 数据库复制数据记录或从其事务日志中复制日志记录来创建备份 [名词] 的过程。
备份[名词]
可用于在发生故障后恢复或恢复数据的数据副本。 数据库备份也可用于将数据库的副本还原到新位置。
备份设备
写入 SQL Server 备份并可从中还原备份的磁盘或磁带设备。 SQL Server 备份也可以写入 Azure Blob 存储,URL 格式用于指定备份文件的目的地和名称。 有关详细信息,请参阅使用 Microsoft Azure Blob 存储进行 SQL Server 备份和还原。
备份媒体
已写入一个或多个备份的一个或多个磁带或磁盘文件。
数据备份
一个完整数据库的数据备份(数据库备份),一个数据库的一部分(部分备份),或者一组数据文件或文件组的数据备份(文件备份)。
数据库备份
数据库的备份。 完整数据库备份表示备份完成时的整个数据库。 差异数据库备份仅包含自最近的完整备份以来对数据库所做的更改。
差异备份
基于完整或部分数据库或一组数据文件或文件组(差异基础)的最新完整备份的数据备份,并且仅包含自差异基础建立以来发生变化的数据。
完整备份
一种数据备份,其中包含特定数据库或一组特定文件组或文件中的所有数据,以及足够的日志来恢复数据。
日志备份
事务日志备份,包括所有未在以前的日志备份中备份的日志记录。 (完全恢复模式)
恢复
将数据库恢复到稳定一致的状态。
恢复
将数据库还原到事务一致状态的数据库启动阶段或 Restore With Recovery 阶段。
恢复模式
用于控制数据库事务日志维护的数据库属性。 共有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。 数据库的恢复模型决定了它的备份和恢复要求。
恢复
一个多阶段过程数据库备份工具,将所有数据和日志页从指定的 SQL Server 备份复制到指定的数据库,然后通过应用先前回滚备份所有事务中记录的更改及时向前移动该数据。
备份和恢复策略
备份和恢复数据必须针对特定环境进行定制,并且必须使用可用资源。 因此,要可靠地使用备份和恢复进行恢复,您需要有适当的备份和恢复策略。 精心设计的备份和恢复策略可以平衡业务对最大数据可用性和最小数据丢失的需求,同时考虑维护和存储备份的成本。
备份和恢复策略有备份部分和恢复部分。 策略的备份部分定义了备份的类型和频率、备份所需硬件的特性和速度、备份的测试方式以及备份介质的存储位置和方式(包括安全考虑)。 策略的还原部分定义了谁负责执行还原、如何执行还原以满足数据库可用性和最少数据丢失的目标,以及如何测试还原。
设计有效的备份和恢复策略需要仔细规划、实施和测试。 需要测试:在还原策略中包含的所有组合的备份都成功还原,并且还原的数据库经过物理一致性测试后,才会生成备份策略。 必须考虑各种因素。 这些包括:
最佳实践建议
使用单独的存储
重要的
确保将数据库备份保存在与数据库文件不同的物理位置或设备上。 当存储数据库的物理驱动器发生故障或崩溃时,可恢复性取决于能够访问存储备份的独立驱动器或远程设备以执行恢复。 请记住,您可以在同一个物理磁盘驱动器上创建多个逻辑卷或分区。 在为备份选择存储位置之前,请仔细研究磁盘分区和逻辑卷布局。
选择合适的恢复模式
备份和还原操作发生在恢复模型的上下文中。 恢复模型是一个数据库属性,它控制事务日志的管理方式。 因此,数据库的恢复模式决定了数据库支持的备份类型和恢复方案,以及事务日志备份的大小。 通常,数据库使用简单恢复模型或完整恢复模型。 您可以在执行批量操作之前切换到批量日志恢复模式以补充完整恢复模式。 有关这些恢复模型的说明以及它们如何影响事务日志的管理方式,请参阅事务日志记录 (SQL Server)。
数据库的最佳恢复模式取决于您的业务需求。 要消除事务日志管理并简化备份和还原,请使用简单恢复模型。 要通过一些管理开销最大限度地减少工作丢失的可能性,请使用完整恢复模型。 要在大容量日志操作期间最大限度地减少对日志大小的影响,同时允许这些操作的可恢复性,请使用大容量日志恢复模型。 有关恢复模型如何影响备份和还原的信息,请参阅备份概述 (SQL Server)。
设计备份策略
为特定数据库选择满足业务需求的恢复模式后,需要规划并实施相应的备份策略。 最佳备份策略取决于多种因素,但以下因素尤为重要:
是只需要更改数据库的一小部分,还是需要更改大部分数据库?
部分备份和/或文件备份对于更改集中在某些文件或文件组中的大型数据库很有用。 有关详细信息,请参阅部分备份 (SQL Server) 和完整文件备份 (SQL Server)。
完整数据库备份需要多少磁盘空间?
您的企业过去多久需要维护备份?
确保根据您的应用程序需求和业务需求制定适当的备份计划。 随着备份变得更旧,数据丢失的风险更高,除非您有办法重新生成故障点之前的所有数据。在由于存储资源限制而选择处置旧备份之前,请考虑是否需要以前的可恢复性
估计完整数据库备份的大小
在实施备份和恢复策略之前,您应该估计完整数据库备份将使用的磁盘空间。 备份操作将数据从数据库复制到备份文件。 备份仅包含数据库中的实际数据,不包含任何未使用的空间。 因此,备份通常小于数据库本身。 您可以使用 sp_spaceused 系统存储过程来估计完整数据库备份的大小。 有关详细信息,请参阅 sp_spaceused (Transact-SQL)。
定时备份
执行备份操作对正在运行的事务的影响最小,因此可以在正常操作期间执行备份操作。 您可以在对生产工作负载影响最小的情况下执行 SQL Server 备份。
有关备份期间的并发限制的信息,请参阅备份概述 (SQL Server)。
在确定所需的备份类型以及每种备份类型必须执行的频率之后,建议您将定期备份安排为数据库维护计划的一部分。 有关维护计划以及如何为数据库备份和日志备份创建维护计划的信息,请参阅使用维护计划向导。
测试备份!
备份测试完成后才会生成恢复策略。 必须通过将数据库副本还原到测试系统来彻底测试每个数据库的备份策略。 您必须对要使用的每种备份类型执行还原测试。 还建议在恢复备份后数据库备份工具,使用数据库的 DBCC CHECKDB 执行数据库一致性检查,以验证备份介质没有损坏。
验证介质稳定性和一致性
使用备份实用程序提供的验证选项(BACKUP T-SQL 命令、SQL Server 维护计划、备份软件或解决方案等)。 例如,请参阅 [RESTORE VERIFYONLY] (../t-sql/statements/restore-statements-verifyonly-transact-sql.md) 使用 BACKUP CHECKSUM 等高级功能来检测备份媒体本身的问题。 有关详细信息,请参阅备份和还原期间可能出现的介质错误 (SQL Server)
文档备份/恢复策略
建议您记录备份和还原过程,并在您的运行手册中保留一份文档副本。 我们还建议您为每个数据库维护一个运行手册。 此运行手册应记录备份位置、备份设备的名称(如果有)以及恢复测试备份所需的时间。
使用 xEvent 监控进度
由于数据库的大小和所涉及操作的复杂性,备份和恢复操作可能需要很长时间。 当任一操作出现问题时,backup_restore_progress_trace 扩展事件可用于监控实时进度。 有关扩展事件的更多信息,请参阅扩展事件。
警告
使用 backup_restore_progress_trace 扩展事件会导致性能问题并占用大量磁盘空间。 请谨慎短时间使用,并在投入生产前进行全面测试。
SQL复制
-- Create the backup_restore_progress_trace extended event esssion
CREATE EVENT SESSION [BackupRestoreTrace] ON SERVER
ADD EVENT sqlserver.backup_restore_progress_trace
ADD TARGET package0.event_file(SET filename=N'BackupRestoreTrace')
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO
-- Start the event session
ALTER EVENT SESSION [BackupRestoreTrace]
ON SERVER
STATE = start;
GO
-- Stop the event session
ALTER EVENT SESSION [BackupRestoreTrace]
ON SERVER
STATE = stop;
GO
扩展事件的示例输出
有关备份任务的详细信息
使用备份设备和备份媒体
创建备份
评论
对于部分备份或仅复制备份,Transact-SQLBACKUP 语句必须分别与 PARTIAL 或 COPY_ONLY 选项一起使用。
使用SSMS
使用 T-SQL
恢复数据备份
使用SSMS
使用 T-SQL
恢复事务日志(完整恢复模式)
使用SSMS
使用 T-SQL
更多信息和资源
备份概述 (SQL Server)
还原和恢复概述 (SQL Server)
备份 (Transact-SQL)
恢复(事务处理 SQL)
备份和还原 Analysis Services 数据库
备份和恢复全文目录和索引
备份和恢复复制的数据库
事务日志 (SQL Server)
恢复模型 (SQL Server)
媒体集、媒体族和备份集 (SQL Server)