本文介绍如何通过备份集实现SQL Server的全量备份数据迁移到专属集群MyBase。
前提条件
- 自建SQL Server数据库的版本为SQL Server 2008 R2。
- 专属集群MyBase具有足够的存储空间。若空间不足,请提前升级集群空间,详情请参见变更实例配置。
- 完成OSS Bucket的创建,并确保OSS Bucket与专属集群MyBase SQL Server实例处于相同地域。创建OSS Bucket的方法,请参见创建存储空间。
步骤一:全量备份本地数据库
准备工作:
- 请确保已停止写入数据。备份过程中写入的数据将不会被备份。
- 支持全量备份文件上云,不支持差异备份文件或日志备份文件,关于差异备份文件,详情请参见差异备份文件。备份本地数据库时,请确认备份文件后缀名为bak。
说明
- bak:表示全量备份文件。
- diff:表示差异备份文件。
- trn或log:表示事务日志备份文件。
- 全量备份文件名不能包含
/*&$%@
等特殊字符,否则会上云失败。
- 打开SSMS(SQL Server Management Studio)客户端,登录待迁移的数据库。
- 执行如下命令确认数据库的恢复模式。
go
select name, case recovery_model
when 1 then 'FULL'
when 2 then 'BULD_LOGGED'
when 3 then 'SIMPLE' end model from sys.databases
where name not in ('master','tempdb','model','msdb');
go
- 执行如下命令设置数据库的恢复模式为Full。
ALTER DATABASE dbtest SET RECOVERY FULL;
go
ALTER DATABASE dbtest SET AUTO_CLOSE OFF;
go
说明
- 若步骤2命令的返回结果中,model的值为Full,可跳过此步骤。
- 恢复模式设置为Full后,会使SQL Server的日志信息增多,请确保您有足够的磁盘空间。
- 执行如下命令,备份数据库。
use master;
go
BACKUP DATABASE dbtest to disk =
'd:\backup\backup.bak' WITH
COMPRESSION, INIT;
go
- 执行如下命令校验备份文件的完整性。
USE master
go
RESTORE FILELISTONLY
FROM DISK = N'D:\backup\backup.bak';
go
说明
- 若有结果返回,表示备份文件有效。
- 若提示错误,请重新执行步骤4。
- 执行如下命令还原数据库的恢复模式。
ALTER DATABASE dbtest SET RECOVERY SIMPLE;
go
说明 若数据库的恢复模式原本为Full,无需执行该步骤。
步骤二:上传备份文件至OSS
准备工作:
- 您需要授予数据库服务账号访问OSS的权限,详情请参见创建数据库和账号(SQL Server 2008 R2)。权限设置后,系统会在访问控制RAM的角色管理中创建名为AliyunRDSImportRole的角色。
- 请勿修改或删除AliyunRDSImportRole角色,否则会导致上云任务无法下载备份文件而失败。修改或删除该角色后,您需要重新进行访问OSS授权。
- 上传全量备份文件至OSS。
- 获取备份文件的链接地址。
- 登录OSS管理控制台,单击Bucket列表,找到备份文件所在的Bucket,单击Bucket名称进入Bucket详情页。
- 单击文件管理,单击目标数据库备份文件的文件名打开详情页。
- 单击复制文件URL。
步骤三:迁移上云
- 登录云数据库专属集群控制台。
- 在页面左上角,选择目标地域。
- 在目标专属集群的操作列,单击详情。
- 在左侧单击实例列表,然后单击目标实例ID。
- 在实例配置页,单击左侧导航栏备份恢复,然后单击OSS备份数据恢复上云。
- 在弹出的数据导入向导对话框中,单击两次下一步,设置以下参数。

参数 |
说明 |
数据库名 |
目标数据库名称。 |
OSS Bucket |
选择备份文件所在的OSS Bucket。 |
OSS 子文件夹名 |
填写备份文件所在的子文件夹名称。 |
OSS 文件列表 |
搜索并选择需要上云的备份文件。您可输入备份文件名称前缀,单击搜索按钮进行模糊查找。 |
上云方案 |
选择打开数据库(只有一个全量备份文件)。
说明
- 打开数据库(只有一个全量备份文件):适用于全量上云,仅有一个完全备份文件上云的场景。请设置
CreateMigrateTask 中的如下参数:
BackupMode = FULL
IsOnlineDB = True
- 不打开数据库(还有差异备份或日志文件):适用于增量上云,有完全备份文件加上日志备份(或者差异备份文件)上云的场景。请设置
CreateMigrateTask 中的如下参数:
BackupMode = UPDF
IsOnlineDB = False
|
一致性检查方式 |
- 同步对业务的正常运行至关重要,建议打开同步执行 DBCC。在打开数据库的同时,系统执行DBCC CheckDB操作。开启同步执行DBCC会延长打开数据库的时间;数据库越大,DBCC CheckDB越耗时。请设置
CreateMigrateTask 中的参数:CheckDBMode = SyncExecuteDBCheck 。
- 若您对业务停机时间非常敏感,且不关心DBCC CheckDB(数据库修复)的结果,建议打开异步执行 DBCC。在打开数据库的同时,系统不执行DBCC CheckDB操作。待打开数据库任务结束之后,再执行DBCC CheckDB操作。开启异步执行DBCC可节约打开数据库操作的时间,减少业务停机时间。请设置
CreateMigrateTask 中的参数:CheckDBMode = AsyncExecuteDBCheck 。
|
- 单击确定。
后续步骤
- 单击刷新查看数据上云任务的最新状态。
- 在备份恢复的备份数据上云记录查看备份上云记录,默认展示最近一周的记录。