全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
云数据库 RDS 版

使用FTP迁移SQL Server数据

更新时间:2017-07-20 18:12:37

使用限制

云数据库SQL Server版导入数据有如下限制:

  • 仅支持导入SQL Server 2005、SQL Server 2008和SQL Server 2008 R2版本的数据。

  • 仅支持全量数据导入。

  • 数据库的Recover Mode必须是FULL模式。

前提条件

  • 已创建目标实例和数据库。

  • 如果数据库里有数据,请做好备份,否则目标数据库中的数据会被覆盖。

  • 为确保数据的一致性,请停止本地数据库的写入操作。

  • 已安装Filezilla 3.6.0.2版本的客户端。若未安装,请单击下载

    注意:目前,RDS仅支持Filezilla 3.6.0.2版本的客户端,安装后请不要升级版本,否则将无法迁移SQL Server数据。

操作步骤

准备本地数据

  1. 执行如下命令,检查本地数据库的Recover Mode。

    1. use master;
    2. go
    3. select name, case recovery_model
    4. when 1 then 'FULL'
    5. when 2 then 'BULD_LOGGED'
    6. when 3 then 'SIMPLE' end model from sys.databases
    7. where name not in ('master','tempdb','model','msdb');
    8. go

    确认本地数据库的model值:

    • 如果model值不为FULL,请执行步骤2。

    • 如果model值为FULL,请执行步骤3。

  2. 执行如下命令,将源数据库的Recover Mode设置为FULL。

    注意:将Recover Mode改成FULL模式后,会致使SQL Server日志增加,请确保有足够的硬盘空间。

    1. ALTER DATABASE [dbname] SET RECOVERY FULL;
    2. go
    3. ALTER DATABASE [dbname] SET AUTO_CLOSE OFF;
    4. go
  3. 执行如下命令,备份源数据库,本例以备份文件名为filename.bak为例。

    1. use master;
    2. go
    3. BACKUP DATABASE [testdbdb] to disk ='d:\backup\filename.bak' WITH COMPRESSION,INIT;
    4. go
  4. 执行如下命令,校验备份文件的完整性。

    1. USE master
    2. GO
    3. RESTORE FILELISTONLY
    4. FROM DISK = N'D:\Backup\filename.bak';

    返回结果说明:

    • 如果有结果集返回,则备份文件有效。

    • 如果报错,则备份文件有误,请重新备份。

  5. 执行如下命令,还原源数据库的Recover Mode。

    说明 :如果您未执行步骤2,即数据库的Recover Mode本来就是FULL,没有做过变更,则无需执行该步骤。

    1. ALTER DATABASE [dbname] SET RECOVERY SIMPLE;
    2. go

正式迁移操作

  1. 登录RDS管理控制台

  2. 选择目标实例所在地域。

  3. 单击目标实例的ID,进入基本信息页面。

  4. 在左侧导航栏中,选择数据库管理,进入数据库管理页面。

  5. 在要迁入的数据库后面,单击备份文件(bak)迁入,如下图所示。

    备份文件迁入

  6. 数据导入向导页面的备份你的数据库步骤中,确认已参照备份本地数据备份好本地数据库后,单击下一步,如下图所示。

    备份数据库

  7. 上传备份文件步骤中,单击获取FTP信息,获取备份文件上传FTP信息,如下图所示。

    上传备份文件

  8. 将本地数据库备份文件名更改为上一步骤中获取的文件名。

    注意:本地备份文件名必须更改为上一步骤中提供的文件名,否则备份文件无法上传成功。

  9. 打开FileZilla软件。

  10. 选择文件 > 站点管理器

  11. 单击新站点,创建并命名新站点。

  12. 按步骤7中获取的FTP信息填写站点信息,如下图标号3所示。

    填写站点信息

    参数说明:

    • 主机:FTP信息中的外网服务器

    • 端口:FTP信息中的外网服务器端口

    • 加密:选择要求隐式的FTP over TLS

    • 登录类型:选择正常

    • 用户:FTP信息中的FTP账号

    • 密码:FTP信息中的FTP密码

  13. 选择传输设置标签页,将传输模式设置为被动,然后单击连接,如下图所示。

    说明:系统会弹出未知证书提示,单击确定即可。

    传输模式

  14. 连接FTP服务器后,将备份文件按步骤7中提供的文件名更名后,将该备份文件上传至FTP服务器。

  15. 返回RDS管理控制台数据导入向导

  16. 单击下一步, 进入数据导入步骤。

  17. 确认FTP上传完成,且文件大小无误后,单击数据导入,如下图所示。

    注意:

    • 若导入残缺或者非法文件,导入会失败,该实例控制台将一直处于恢复中状态,请提交工单解除该状态。

    • 若导入数据后,实例磁盘容量超过总使用量的85%,则无法进行导入。请先删减实例的数据或扩展磁盘容量,扩容磁盘请参见变更配置

    数据导入

  18. 在弹出的确认框中单击确定

  19. 数据导入完成后,单击关闭,结束数据导入。

查看数据导入记录

本地数据导入阿里云后,您可以查看数据导入记录,操作步骤如下所示。

  1. 登录RDS管理控制台

  2. 选择目标实例所在地域。

  3. 单击目标实例的ID,进入基本信息页面。

  4. 在左侧导航栏中,选择备份文件迁入记录,进入备份文件迁入记录页面。

  5. 选择要查询的时间范围,然后单击查询

本文导读目录