本文介绍如何通过备份集实现SQL Server的全量备份数据迁移到专属集群MyBase

前提条件

  • 自建SQL Server数据库的版本为SQL Server 2008 R2。
  • 专属集群MyBase具有足够的存储空间。若空间不足,请提前升级集群空间,详情请参见变更实例配置
  • 完成OSS Bucket的创建,并确保OSS Bucket与专属集群MyBase SQL Server实例处于相同地域。创建OSS Bucket的方法,请参见创建存储空间

注意事项

您仅可迁移1个数据库,若您一次性迁移多个或所有数据库,建议采用实例级的上云方案,详情请参见SQL Server实例级别迁移上云

步骤一:全量备份本地数据库

准备工作:

  • 请确保已停止写入数据。备份过程中写入的数据将不会被备份。
  • 支持全量备份文件上云,不支持差异备份文件或日志备份文件,关于差异备份文件,详情请参见差异备份文件。备份本地数据库时,请确认备份文件后缀名为bak。
    说明
    • bak:表示全量备份文件。
    • diff:表示差异备份文件。
    • trn或log:表示事务日志备份文件。
  • 全量备份文件名不能包含/*&$%@等特殊字符,否则会上云失败。
  1. 打开SSMS(SQL Server Management Studio)客户端,登录待迁移的数据库。
  2. 执行如下命令确认数据库的恢复模式。
    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
  3. 执行如下命令设置数据库的恢复模式为Full。
    ALTER DATABSE dbtest SET RECOVERY FULL;
    go
    ALTER DATABASE dbtest SET AUTO_CLOSE OFF;
    go
    说明
    • 若步骤2命令的返回结果中,model的值为Full,可跳过此步骤。
    • 恢复模式设置为Full后,会使SQL Server的日志信息增多,请确保您有足够的磁盘空间。
  4. 执行如下命令,备份数据库。
    use master;
    go
    BACKUP DATABASE dbtest to disk = 
    'd:\backup\backup.bak' WITH
    COMPRESSION, INIT;
    go
  5. 执行如下命令校验备份文件的完整性。
    USE master  
    GO  
    RESTORE FILELISTONLY   
     FROM DISK = N'D:\backup\backup.bak';
    说明
    • 若有结果返回,表示备份文件有效。
    • 若提示错误,请重新执行步骤4
  6. 执行如下命令还原数据库的恢复模式。
    ALTER DATABASE dbtest SET RECOVERY SIMPLE;
    go
    说明 若数据库的恢复模式原本为Full,无需执行该步骤。

步骤二:上传备份文件至OSS

准备工作:

  • 您需要授予数据库服务账号访问OSS的权限,详情请参见创建数据库和账号(SQL Server 2008 R2)。权限设置后,系统会在访问控制RAM的角色管理中创建名为AliyunRDSImportRole的角色。
  • 请勿修改或删除AliyunRDSImportRole角色,否则会导致上云任务无法下载备份文件而失败。修改或删除该角色后,您需要重新进行访问OSS授权。
  1. 上传全量备份文件至OSS。
    说明
  2. 获取备份文件的链接地址。
  3. 登录OSS管理控制台,单击Bucket列表,找到备份文件所在的Bucket,单击Bucket名称进入Bucket详情页。
  4. 单击文件管理,单击目标数据库备份文件的文件名打开详情页。
  5. 单击复制文件URL。

步骤三:迁移上云

  1. 登录云数据库专属集群控制台
  2. 在页面左上角,选择目标地域。
    选择地域
  3. 在目标专属集群的操作列,单击详情
  4. 在左侧单击实例列表,然后单击目标实例ID。
  5. 在实例配置页,单击左侧导航栏备份恢复,然后单击OSS备份数据恢复上云
    s
  6. 在弹出的数据导入向导对话框中,单击两次下一步,设置以下参数。
    a
    参数 说明
    数据库名 目标数据库名称。
    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
  7. 单击确定

后续步骤

  1. 单击刷新查看数据上云任务的最新状态。
  2. 备份恢复备份数据上云记录查看备份上云记录,默认展示最近一周的记录。