SQL Server 2008 R2版本的实例支持便捷的数据上云操作,您只需将自建数据库的备份文件上传至阿里云对象存储服务OSS(Object Storage Service),然后通过RDS控制台将其全量迁移至指定数据库中。该方案采用微软官方的备份恢复方案,可保障兼容性。
计费说明
本方案中仅会产生OSS的相关费用,详情如下图所示。
场景 |
费用说明 |
将本地数据备份文件上传至OSS |
不产生费用 |
备份文件存储在OSS |
会产生OSS的存储费用,计费详情请参见OSS定价。 |
将备份文件从OSS迁移至RDS |
- 通过内网迁移至RDS,不产生费用。
- 通过外网迁移至RDS,OSS会产生外网流出流量的费用,计费详情请参见OSS定价。
|
操作步骤
- 备份本地数据库。
- 打开Microsoft SQL Server Management Studio(SSMS)客户端。
- 登录待迁移的数据库。
- 执行如下命令,确认源数据库当前的恢复模式。
use master;
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
- 如果返回结果中的
model
值不为FULL
,请执行步骤iv。
- 如果返回结果中的
model
值为FULL
,请执行步骤v。
- 执行如下命令,将源数据库的恢复模式设置为
FULL
。
ALTER DATABASE [dbname] SET RECOVERY FULL;
go
ALTER DATABASE [dbname] SET AUTO_CLOSE OFF;
go
注意 恢复模式设置为
FULL
后,会使SQL Server的日志信息增多,请确保具备足够的硬盘空间。
- 执行如下命令,备份源数据库。本案例中,将dbtest数据库备份至backup.bak文件中。
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';
注意
- 如果有结果集返回,代表备份文件有效。
- 如果提示错误,请重新执行备份操作。
- 可选:执行如下命令,还原数据库的恢复模式。
注意 如果数据库的恢复模式原本就是
FULL
,无需执行本步骤。
ALTER DATABASE [dbname] SET RECOVERY SIMPLE;
go
- 将数据库备份文件上传至OSS。
注意 只有当RDS实例和OSS的Bucket在同一地域时,二者才能内网互通,所以在上传备份文件时,请将文件上传至与目标RDS实例在同一地域的Bucket上面。
- 设置备份文件的链接有效时间并获取文件的链接地址。
- 登录OSS 管理控制台。
- 在左侧导航栏,单击Bucket列表。
- 找到数据库备份文件所在的Bucket,单击对应的Bucket名称。
- 单击文件管理。
- 单击目标数据库备份文件的文件名。
- 在弹出的对话框中,将链接有效时间修改为28800秒,即8小时。
注意 将备份文件从OSS迁移至RDS时,需要使用备份文件的链接地址,如果超过了链接有效时间,将导致数据迁移失败。
- 单击复制文件URL。
- 修改获取到的数据备份文件链接地址。
默认获取的是文件的外网连接地址,如需通过内网迁移数据,您需要将文件链接地址中的Endpoint改成内网Endpoint。例如,备份文件的链接地址为http://rdstest.oss-cn-shanghai.aliyuncs.com/testmigraterds_20170906143807_FULL.bak?Expires=15141****&OSSAccessKeyId=TMP****
,您需要将链接地址中的oss-cn-shanghai.aliyuncs.com
修改为oss-cn-shanghai-internal.aliyuncs.com
。
注意 不同的网络类型、不同地域所对应的内网Endpoint不同,详情请参见
访问域名和数据中心。
- 将数据库备份文件从OSS迁移至RDS。
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
- 在左侧导航栏,单击数据库管理。
- 找到目标数据库,单击操作列的从OSS上的备份文件迁入。
- 在数据导入向导对话框中,阅读提示内容,单击下一步。
- 阅读OSS上传的相关提示内容,单击下一步。
- 在备份文件OSS URL栏中填写备份文件在OSS的链接地址。
说明 目前,RDS SQL Server 2008 R2仅支持一种上云方案,即全量备份文件一次性迁入。
- 单击确定。
您可以在左侧导航栏,单击
数据上云,然后找到目标迁移任务来查看数据迁移的进度。
注意 如果
任务状态显示为
失败,请查看
任务描述或单击目标迁移任务后面的
查看文件详情,确认任务失败的原因并修复,然后重新执行数据迁移。