文档简介:
数据迁移
使用SQL Server Management Studio迁移SQL Server数据
迁移准备
关系型数据库服务支持开启公网访问功能,通过弹性公网IP进行访问。您也可通过弹性云服务器的内网访问关系型数据库。
1. 准备弹性云服务器或可公网访问关系型数据库。
− 通过弹性云服务器连接关系型数据库实例,需要创建一台弹性云服务器。
创建并连接弹性云服务器,请参见8.3.4 如何创建和连接ECS。
− 通过公网地址连接关系型数据库实例,需具备以下条件。
i. 先对关系型数据库实例绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP。
ii. 保证本地设备可以访问关系型数据库绑定的公网地址。
2. 在已准备的弹性云服务器或可访问关系型数据库的设备上,安装Microsoft SQL Server客户端。
请参见8.3.17 如何安装SQL Server Management Studio。
说明:请安装不低于Microsoft SQL Server数据库版本的SQL Server Management Studio工具。
导出数据
要将已有Microsoft SQL Server数据库迁移到关系型数据库,需要先对其进行导出。
说明:
l 相应导出工具需要与数据库引擎版本匹配。
l 数据库迁移为离线迁移,您需要停止使用源数据库的应用程序。
步骤 1 登录已准备的弹性云服务器。
步骤 2 使用SQL Server Management Studio生成表、视图等数据库对象脚本。
1. 使用SQL Server Management Studio连接数据库。
2. 在“Object Explorer”中,展开Databases,打开源数据库的上下文,选择要导出的数据库,右键单击菜单,选择“Tasks”,单击“Generate Script”。此时将显示向导。
3. 在“Choose Objects”页面选择要导出的对象的定义,单击“Next”。
4. 在“Set Scripting Options”页面,选择“Save script to a specificel location”,在“File name”中选择导出文件放置的路径,单击“Next”。
说明:
l 选择“Single file”将所有对象保存到一个文件中。
l 选择“Single file per object”为每个对象保留到一个文件。
5. 单击“Next”。
6. 单击“Finish”,完成导出。
7. 使用“SQL Server Management Studio”打开导出的SQL文件。
8. 修改文件中第一行USE [DATABASE],把[DATABASE]修改为对应的数据库名称,然后保存。
说明:有关Generate Script,请参见微软官方文档Generate and Publish Scripts Wizard。
步骤 3 使用bcp工具将源数据库的数据导出至TXT文件。
如需通过bcp工具导出数据,请自行下载并安装bcp工具。导出数据命令如下:
>bcp dbname.schema_name.table_name out C:\test\table_name.txt -n -S localhost -U username -b 2000
l out为将导出文件所在路径。
l -n使用数据的本机(数据库)数据类型执行大容量复制操作。
l -S为bcp工具连接Microsoft SQL Server实例的连接地址。
l -U为数据库用户名。
l -b为每批导入数据的行数。
根据命令提示输入数据库密码。
示例如下:
C:\test>bcp test.dbo.t1 out c:\test\t1.txt -n -S localhost -U rdsuser -b 2000
Enter password:
命令执行完会生成“t1.txt”文件,如下:
C:\test>$ dir t1.txt
2017/03/27 11:51 22 t1.txt
循环上面步骤导出数据库中其他表的数据。
----结束
导入数据
通过弹性云服务器,用相应客户端连接关系型数据库实例,将导出的SQL文件导入到关系型数据库。
说明:
如果源数据库中包含全文索引信息,则在关系型数据库上需要手动重建。
步骤 1 通过工具导入数据。
方式一:使用sqlcmd工具将数据库对象定义导入。
Microsoft SQL Server数据库或客户端会自带该工具,导入数据命令如下:
>sqlcmd -S "server" -d database -U login_id -i inputfile
l -S为RDS实例的IP地址和端口。
l -d为要导入的数据库名。
l -U为登录数据库的用户名。
l -i为要运行的SQL文件。
根据命令提示输入数据库密码。
示例如下:
>sqlcmd -S "10.65.60.79,8636" -d test -U rdsuser -i C:\test\objects.sql
Enter password:
方式二:使用bcp工具导入数据。
>bcp dbname.schema_name.table_name in C:\test\table_name.txt -n -S Server -U username -b 2000
l in为将导入文件所在路径。
l -n使用数据的本机(数据库)数据类型执行大容量复制操作。
l -S为bcp工具连接Microsoft SQL Server实例的连接地址。
l -U为数据库用户名。
l -b为每批导入数据的行数。
根据命令提示输入数据库密码。
示例如下:
C:\test>bcp test.dbo.t1 in c:\test\t1.txt -n -S "10.65.60.79,8636" -U rdsuser -b 2000
Enter password:
步骤 2 查看数据导入情况。
select * from sys.databases;
图1-1 查看结果
----结束






