使用限制
云数据库SQL Server版导入数据有如下限制:
仅支持导入SQL Server 2005、SQL Server 2008和SQL Server 2008 R2版本的数据。
仅支持全量数据导入。
数据库的Recover Mode必须是FULL模式。
前提条件
已创建目标实例和数据库。
如果数据库里有数据,请做好备份,否则目标数据库中的数据会被覆盖。
为确保数据的一致性,请停止本地数据库的写入操作。
已安装Filezilla 3.6.0.2版本的客户端。若未安装,请单击下载。
[backcolor=transparent]注意:目前,RDS仅支持Filezilla 3.6.0.2版本的客户端,安装后请不要升级版本,否则将无法迁移SQL Server数据。
操作步骤
准备本地数据
执行如下命令,检查本地数据库的Recover Mode。[backcolor=transparent]use[backcolor=transparent] master[backcolor=transparent];- [backcolor=transparent]go
- [backcolor=transparent]select[backcolor=transparent] name[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]case[backcolor=transparent] recovery_model
- [backcolor=transparent]when[backcolor=transparent] [backcolor=transparent]1[backcolor=transparent] [backcolor=transparent]then[backcolor=transparent] [backcolor=transparent]'FULL'
- [backcolor=transparent]when[backcolor=transparent] [backcolor=transparent]2[backcolor=transparent] [backcolor=transparent]then[backcolor=transparent] [backcolor=transparent]'BULD_LOGGED'
- [backcolor=transparent]when[backcolor=transparent] [backcolor=transparent]3[backcolor=transparent] [backcolor=transparent]then[backcolor=transparent] [backcolor=transparent]'SIMPLE'[backcolor=transparent] [backcolor=transparent]end[backcolor=transparent] model [backcolor=transparent]from[backcolor=transparent] sys[backcolor=transparent].[backcolor=transparent]databases
- [backcolor=transparent]where[backcolor=transparent] name [backcolor=transparent]not[backcolor=transparent] [backcolor=transparent]in[backcolor=transparent] [backcolor=transparent]([backcolor=transparent]'master'[backcolor=transparent],[backcolor=transparent]'tempdb'[backcolor=transparent],[backcolor=transparent]'model'[backcolor=transparent],[backcolor=transparent]'msdb'[backcolor=transparent]);
- [backcolor=transparent]go
确认本地数据库的model值:
如果model值不为FULL,请执行步骤2。
如果model值为FULL,请执行步骤3。
执行如下命令,将源数据库的Recover Mode设置为FULL。
[backcolor=transparent]注意:将Recover Mode改成FULL模式后,会致使SQL Server日志增加,请确保有足够的硬盘空间。
- [backcolor=transparent]ALTER DATABASE [backcolor=transparent][[backcolor=transparent]dbname[backcolor=transparent]][backcolor=transparent] SET RECOVERY FULL[backcolor=transparent];
- [backcolor=transparent]go
- [backcolor=transparent]ALTER DATABASE [backcolor=transparent][[backcolor=transparent]dbname[backcolor=transparent]][backcolor=transparent] SET AUTO_CLOSE OFF[backcolor=transparent];
- [backcolor=transparent]go
执行如下命令,备份源数据库,本例以备份文件名为filename.bak为例。
- [backcolor=transparent]use[backcolor=transparent] master[backcolor=transparent];
- [backcolor=transparent]go
- [backcolor=transparent]BACKUP DATABASE [backcolor=transparent][[backcolor=transparent]testdbdb[backcolor=transparent]][backcolor=transparent] to disk [backcolor=transparent]=[backcolor=transparent]'d:\backup\filename.bak'[backcolor=transparent] WITH COMPRESSION[backcolor=transparent],[backcolor=transparent]INIT[backcolor=transparent];
- [backcolor=transparent]go
执行如下命令,校验备份文件的完整性。
- [backcolor=transparent] USE master
- [backcolor=transparent] GO
- [backcolor=transparent] RESTORE FILELISTONLY
- [backcolor=transparent] FROM DISK [backcolor=transparent]=[backcolor=transparent] N[backcolor=transparent]'D:\Backup\filename.bak'[backcolor=transparent];
返回结果说明:
如果有结果集返回,则备份文件有效。
如果报错,则备份文件有误,请重新备份。
执行如下命令,还原源数据库的Recover Mode。
[backcolor=transparent]说明 :如果您未执行步骤2,即数据库的Recover Mode本来就是FULL,没有做过变更,则无需执行该步骤。
- [backcolor=transparent]ALTER DATABASE [backcolor=transparent][[backcolor=transparent]dbname[backcolor=transparent]][backcolor=transparent] SET RECOVERY SIMPLE[backcolor=transparent];
- [backcolor=transparent]go
正式迁移操作
登录RDS管理控制台。
选择目标实例所在地域。
单击目标实例的ID,进入[backcolor=transparent]基本信息页面。
在左侧导航栏中,选择[backcolor=transparent]数据库管理,进入[backcolor=transparent]数据库管理页面。
在要迁入的数据库后面,单击[backcolor=transparent]备份文件(bak)迁入,如下图所示。
在[backcolor=transparent]数据导入向导页面的[backcolor=transparent]备份你的数据库步骤中,确认已参照[backcolor=transparent]备份本地数据备份好本地数据库后,单击[backcolor=transparent]下一步,如下图所示。
在[backcolor=transparent]上传备份文件步骤中,单击[backcolor=transparent]获取FTP信息,获取备份文件上传FTP信息,如下图所示。
将本地数据库备份文件名更改为上一步骤中获取的文件名。
[backcolor=transparent]注意:本地备份文件名必须更改为上一步骤中提供的文件名,否则备份文件无法上传成功。
打开FileZilla软件。
选择[backcolor=transparent]文件 > [backcolor=transparent]站点管理器。
单击[backcolor=transparent]新站点,创建并命名新站点。
按步骤7中获取的FTP信息填写站点信息,如下图标号3所示。
参数说明:
主机:FTP信息中的[backcolor=transparent]外网服务器。
端口:FTP信息中的[backcolor=transparent]外网服务器端口。
加密:选择[backcolor=transparent]要求隐式的FTP over TLS。
登录类型:选择[backcolor=transparent]正常。
用户:FTP信息中的[backcolor=transparent]FTP账号。
密码:FTP信息中的[backcolor=transparent]FTP密码。
选择[backcolor=transparent]传输设置标签页,将传输模式设置为[backcolor=transparent]被动,然后单击[backcolor=transparent]连接,如下图所示。
[backcolor=transparent]说明:系统会弹出[backcolor=transparent]未知证书提示,单击[backcolor=transparent]确定即可。
连接FTP服务器后,将备份文件按步骤7中提供的文件名更名后,将该备份文件上传至FTP服务器。
返回RDS管理控制台的[backcolor=transparent]数据导入向导。
单击[backcolor=transparent]下一步, 进入[backcolor=transparent]数据导入步骤。
确认FTP上传完成,且文件大小无误后,单击[backcolor=transparent]数据导入,如下图所示。
[backcolor=transparent]注意:
若导入残缺或者非法文件,导入会失败,该实例控制台将一直处于恢复中状态,请提交工单解除该状态。
若导入数据后,实例磁盘容量超过总使用量的85%,则无法进行导入。请先删减实例的数据或扩展磁盘容量,扩容磁盘请参见变更配置。
在弹出的确认框中单击[backcolor=transparent]确定,
数据导入完成后,单击[backcolor=transparent]关闭,结束数据导入。
查看数据导入记录
本地数据导入阿里云后,您可以查看数据导入记录,操作步骤如下所示。
登录RDS管理控制台。
选择目标实例所在地域。
单击目标实例的ID,进入[backcolor=transparent]基本信息页面。
在左侧导航栏中,选择[backcolor=transparent]备份文件迁入记录,进入[backcolor=transparent]备份文件迁入记录页面。
选择要查询的时间范围,然后单击[backcolor=transparent]查询。