SQL Server支持使用已有的备份,恢复实例数据到指定时间点。比如当用户在某个时间点删除了某个数据库,或者修改了某个数据库的一些记录需要回滚时,用户需要只对该数据库进行恢复,而不需要将整个实例进行恢复。您可以根据需要恢复库到指定时间点。实例恢复到指定时间点,会从备份空间中选择一个该时间点最近的全量备份下载到实例上进行全量恢复,再重放增量备份及日志备份到指定时间点,恢复时长和实例的数据量有关。支持恢复到当前实例或已有实例。
注意事项
- 支持将低版本的SQL Server数据库的备份集恢复到高版本SQL Server。
- 待恢复目标实例的版本必须不低于源实例。举例,同2014版,标准版低于企业版。
- 待恢复目标实例的剩余存储空间大小必须大于备份集的大小,请务必确保剩余空间足够,否则可能恢复失败。
- 待恢复目标实例必须和源实例在同一个VPC。
- 请确保源实例没有被注销回收。
- 请确保待恢复目标实例处于正常运行状态。
- 下发恢复任务返回成功,并不代表恢复数据成功,仅代表恢复任务下发成功,可以通过“任务中心”查看本次恢复任务进度及结果。
- 数据恢复的耗时取决于数据量,数据量越大则恢复耗时越长。
- 只支持恢复用户自定义数据库,不支持恢复系统数据库(系统数据库不需要恢复)。
- 时间点并非任意选择,时间点只能在数据备份和日志备份的范围内,系统会自动提供可选时间点范围。
- 数据恢复时,会设置目标实例上的同名库为单用户模式,此时该库是无法使用的。
- 恢复数据到目标实例时,恢复后的数据库名不能与目标实例中已有的数据库名相同,即如果目标实例里已经有同名的库了,恢复时一定要用新名字。
- 同名库覆盖仅支持覆盖单机版,禁止同名覆盖至主备实例(实际会发生同名覆盖才禁止)。
支持通过备份集进行恢复的SQL Server版本
源数据库 | 可恢复到的版本 |
---|---|
2014 标准版 | 2014 标准版 2014 企业版 2016 标准版 2016 企业版 |
2014 企业版 | 2014 企业版 2016 企业版 |
2016 标准版 | 2016 标准版 2016 企业版 |
2016 企业版 | 2016 企业版 |
恢复当前实例到指定时间点
将备份数据按时间点恢复到当前实例上,会导致当前实例的数据库数据被覆盖,并且恢复过程中库(database)不可用。恢复时会将涉及的库(database)设置为单用户模式,此时这些恢复中的库是不可用,其他不在恢复范围内的库仍然可用。
恢复已有实例到指定时间点
将备份数据按时间点恢复到其他实例上,会导致已有实例的数据库数据被覆盖,且恢复过程中库(database)不可用。恢复时会将涉及的库(database)设置为单用户模式,此时这些恢复中的库是不可用,其他不在恢复范围内的库仍然可用。
操作步骤
- 进入天翼云SQL Server管理控制台,点击【实例管理】,选择实例,点击实例ID进入实例基本信息页面。
- 选择【备份恢复】标签页,点击【恢复实例】,弹出恢复实例框,恢复策略选择“按时间点”。
- 选择需要恢复的时间点,选择目标实例,勾选需要恢复的数据库,点击【确定】,下发数据恢复任务。
- 系统会自动提供一个时间选择范围,不支持选择范围外的,系统提供的时间点即是数据备份和日志备份的时间范围。
- 如果新库名未填写则按原库名进行恢复,若填写则不能与备份中库名相同。
- 新数据库名不能包括master、msdb、tempdb、model或resource(不区分大小写)。
- 数据库名称长度可在1~128个字符之间,必须符合SQL Server库名规范。
- 目标实例必须是正常运行中的状态。可选目标实例列表系统已自动过滤版本更低或不同VPC的实例,仅保留同一个VPC下的有效实例。
- 目标实例可以是当前实例或已有实例。
- 至少勾选一个库进行恢复。如果没有可选的库列表,说明该实例没有创建自定义数据库。
- 如果勾选同名库覆盖,则将覆盖已有同名库。
- 下发数据恢复任务后,可以通过【任务中心】查看本次恢复任务的进度及结果。