开发者社区 问答 正文

用户指南-数据迁移-从 RDS 到本地-迁移 RDS for SQL Server 数据到本地 SQL Server


阿里云数据库 SQL Server 版支持通过物理备份文件将云上数据迁移到本地数据库。

操作步骤

  1. 下载云数据库全量和增量物理备份文件 并上传至目标服务器。
    备份文件获取方法请参见 下载数据备份和日志备份
    如果目标服务器可以访问源实例,您也可以使用wegt "url"下载备份文件。其中 url 为备份文件下载地址。
  2. 下载完成后,解压全量物理备份文件和增量物理备份文件。
    备份文件的命名为 数据库名+备份类型+日期时间+任务号.bak,其中 备份类型 有三种:
    • datafull:代表全量备份,如 rdsumu2myfzbeai1_datafull_201402250050_2250050.bak
    • datadiff:代表增量备份,如 rdsumu2myfzbeai1_datadiff_201402260050_2260050.bak
    • log:代表日志备份,如 rdsumu2myfzbeai1_log_201402260050_2260050.bak
  • 获取解压后的全量备份文件和增量备份文件,本例以存放至如下路径为例。
    • 全量备份文件存放路径:d:\backup\rdsumu2myfzbeai1_datafull_201402250050_2250050.bak
    • 增量备份文件存放路径:d:\backup\rdsumu2myfzbeai1_datadiff_201402260050_2260050.bak
  • 登录本地 SQL Server 控制台,通过备份文件查询云数据库的文件逻辑名。restore filelistonly from disk='d:\backup\rdsumu2myfzbeai1_datafull_201402250050_2250050.bak'go
    系统显示如下,红框中为数据文件逻辑名 data1 和日志文件逻辑名 log。
    [url=http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/7989/6112_zh-CN.png][/url][/td][td]说明[/td][/tr][tr=transparent][td]如果只需恢复全量备份数据,无需执行步骤 6,请直接跳至步骤 7。如果还需要恢复增量备份数据,请执行步骤 6。[/td][/tr][/table]
  • 加载增量备份文件。restore database rdsumu2myfzbeai1 from disk='D:\backup\rdsumu2myfzbeai1_datadiff_201402260050_2260050.bak' with   replace,norecovery,stats=10,move 'data1' to 'd:\database\rdsumu2myfzbeai1\data\data1.mdf',move 'log' to 'd:\database\rdsumu2myfzbeai1\log\log.ldf'go
    执行完成后,数据库 rdsumu2myfzbeai1 将显示正在还原状态。

  • 恢复数据库。restore database rdsumu2myfzbeai1 with recoverygo
    执行完成后,数据库rdsumu2myfzbeai1将显示可用状态。
  • 展开
    收起
    梨好橙 2018-09-07 23:19:20 1882 分享 版权
    阿里云 AI 助理回答

    阿里云数据库 SQL Server 版本确实支持通过物理备份文件实现将云上数据迁移到本地数据库的过程。以下是详细的操作步骤和注意事项,确保迁移过程的顺利进行:

    操作步骤

    1. 下载备份文件

      • 访问RDS实例列表,选择目标SQL Server实例,进入备份恢复页面,于数据备份标签页下,根据需求选择全量或增量备份记录。
      • 选择相应备份后,点击实例备份下载单库备份下载,并获取备份文件的下载链接(内网或外网)。
      • 使用wget "URL"命令(如果目标服务器可直接访问源实例)或常规下载方式,将备份文件下载至本地服务器,并解压缩。
    2. 重命名与组织备份文件

      • 解压后的备份文件应按照易于识别的规则重命名,例如:<数据库名>_datafull_<日期时间>.bak(全量备份),<数据库名>_datadiff_<日期时间>.bak(增量备份)。
    3. 查询逻辑文件名

      • 登录本地SQL Server管理工具,执行以下命令以获取备份文件中的逻辑文件名:
        RESTORE FILELISTONLY FROM DISK='[备份文件路径]';
        GO
        
    4. 恢复全量备份

      • 执行SQL命令来恢复全量备份,并指定数据文件和日志文件的存放位置:
        RESTORE DATABASE [数据库名] FROM DISK='[全量备份文件路径]' WITH REPLACE, NORECOVERY, STATS=10,
        MOVE '逻辑数据文件名' TO '[数据文件存放路径]',
        MOVE '逻辑日志文件名' TO '[日志文件存放路径]';
        GO
        
    5. (可选)恢复增量备份

      • 如果有增量备份,继续执行以下命令进行恢复,保持数据库在还原状态:
        RESTORE DATABASE [数据库名] FROM DISK='[增量备份文件路径]' WITH REPLACE, NORECOVERY, STATS=10,
        MOVE '逻辑数据文件名' TO '[数据文件存放路径]',
        MOVE '逻辑日志文件名' TO '[日志文件存放路径]';
        GO
        
    6. 完成数据库恢复

      • 最后,执行以下命令使数据库变为可用状态:
        RESTORE DATABASE [数据库名] WITH RECOVERY;
        GO
        

    注意事项

    • 确保目标服务器有足够的磁盘空间用于存放恢复的数据库文件。
    • 在执行恢复操作前,建议对本地数据库环境进行全面检查,确认兼容性和配置正确性。
    • 若使用公网下载备份文件,请留意阿里云关于外网流量费用的规定,避免额外成本。
    • 恢复过程中,监控每一步操作的执行结果,及时处理可能出现的错误信息。
    • 考虑到数据安全,整个操作应在安全的网络环境下进行,并确保数据传输过程加密。

    以上步骤基于提供的参考资料整理而成,旨在帮助用户顺利完成从阿里云RDS SQL Server到本地数据库的数据迁移任务。

    有帮助
    无帮助
    AI 助理回答生成答案可能存在不准确,仅供参考
    0 条回答
    写回答
    取消 提交回答