该系列博客的目录:
概述与请求方式: http://blog.csdn.net/hyzhou33550336/article/details/41620595 (请先看这篇了解公共请求参数)
实例管理: http://blog.csdn.net/hyzhou33550336/article/details/41620749
数据库管理: http://blog.csdn.net/hyzhou33550336/article/details/41620833
数据迁入: http://blog.csdn.net/hyzhou33550336/article/details/41620863
账号管理: http://blog.csdn.net/hyzhou33550336/article/details/41620879
备份恢复: http://blog.csdn.net/hyzhou33550336/article/details/41620899
监控查询: http://blog.csdn.net/hyzhou33550336/article/details/41620907
日志查询: http://blog.csdn.net/hyzhou33550336/article/details/41620917
性能优化: http://blog.csdn.net/hyzhou33550336/article/details/41620931
参数设置: http://blog.csdn.net/hyzhou33550336/article/details/41620595
数据迁入
- SQL Server数据迁入
- 其他实例迁入
- 取消迁移
SQL Server数据迁入:
SQL Server的数据迁入操作大概分为5个步骤:
1.调用获取文件上传地址接口,获取上传FTP的信息,包括FTP
ip,Port,username,password等信息。
2.利用FTP客户端工具比如filezila,将数据文件通过FTP工具上传到FTP
Server上
3.调用查看文件列表接口的函数,查看文件的上传状况
4.调用数据导入接口,将已经上传成功的文件,通过该接口进行导入
5.调用查看导入列表接口查看导入情况,确认状态为success后,导入完成。通过客户端工具连接SQL
Server确认数据是否导入成功。
数据库迁入-获取文件上传地址:
描述:
创建文件服务器的帐号和密码,及上传的文件路径信息,用户根据此信息,可上传数据文件
待上传完成,调用导入数据接口,进行外部数据迁移操作。支持SQLServer
限制条件:
实例的状态:使用中
DB的状态:使用中
一个DB一天只能创建20个文件名,按24小时为一天计算
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值CreateUploadPathForSQLServer |
DBInstanceId |
String |
是 |
实例名 |
DBName |
String |
是 |
数据库名 |
返回参数:
参数 |
类型 |
描述 |
InternetFtpServer |
String |
外网文件服务器 |
InternetPort |
Integer |
外网文件服务器端口 |
IntranetFtpServer |
String |
内网服务器地址 |
IntranetPort |
Integer |
内网服务器端口 |
UserName |
String |
文件服务器帐号 |
Password |
String |
文件服务器帐号密码 |
FileName |
String |
文件名,带扩展名 |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=CreateUploadPathForSQLServer
&DBInstanceId=rianeurbfaeuq2u2a1370572118496
&DBName=testdb01
&<公共请求参数>
返回示例:
XML格式:
<CreateUploadPathForSQLServerResponse>
<RequestId>66816822-CEC1-4C8D-AB26-2530A7D4DCA5</RequestId>
<InternetFtpServer>10.230.239.1</InternetFtpServer>
<InternetPort>3021</InternetPort>
<IntranetFtpServer></IntranetFtpServer>
<IntranetPort></IntranetPort>
<UserName>MKEakJbyG</UserName>
<Password>aT2Y_XN1GGnOLzm</Password>
<FileName>testdb01_1370572475975.bak</FileName>
</CreateUploadPathForSQLServerResponse>
JSON格式:
{
"RequestId":"66816822-CEC1-4C8D-AB26-2530A7D4DCA5"
"InternetFtpServer":"10.230.239.1"
"InternetPort":3021
"IntranetFtpServer":""
"IntranetPort":
"UserName":"MKEakJbyG"
"Password":"aT2Y_XN1GGnOLzm"
"FileName":"testdb01_1370572475975.bak"
}
数据库迁入-查看数据文件列表 (SQL Server):
描述:
查看文件服务器的文件列表。
用户调用接口“获取文件上传地址”,获取文件服务器上传帐号,在数据文件上传结束后,RDS会更新数据文件状态,通过本接口,可查看数据文件是否可用(若可用,则可以进行导入数据)以及文件的导入过程信息。
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值: DescribeFilesForSQLServer |
DBInstanceId |
String |
是 |
实例名 |
StartTime |
String |
是 |
查询开始时间,格式如:2011-06-11T15:00Z |
EndTime |
String |
是 |
查询结束时间,格式如:2011-06-11T16:00Z,且大于查询开始时间 |
PageSize |
Integer |
否 |
每页记录数,取值:30|50|100默认值:30 |
PageNumber |
Integer |
否 |
页码,大于0,且不超过Integer的最大值默认值:1 |
返回参数:
参数 |
类型 |
描述 |
DBInstanceId |
String |
实例名称 |
TotalRecordCount |
Integer |
总记录数 |
PageNumber |
Integer |
页码 |
PageRecordCount |
Integer |
本页SQL语句个数 |
Items |
List<SQLServerUploadFile> |
|
SQLServerUploadFile:
参数 |
类型 |
描述 |
DBName |
String |
数据库名 |
FileName |
String |
数据文件名,带扩展名 |
FileSize |
Long |
数据文件大小,单位:Byte |
InternetFtpServer |
String |
文件服务器 |
InternetPort |
Integer |
文件服务器端口 |
IntranetFtpserver |
String |
内网服务器地址 |
Intranetport |
Integer |
内网服务器端口 |
UserName |
String |
文件服务器账号 |
Password |
String |
文件服务器账号密码 |
FileStatus |
String |
文件状态: Unavailable:不可用 Available:可用 未开始: NotStarted 长在上传: Uploading 上传失败: UploadFailed 有病毒: Virus 文件被删除: Deleted 上传成功: Success |
CreationTime |
String |
FTP文件生成时间格式:YYYY-MM-DD’T’HH:mm:ssZ,如2011-05-30 T12:11:4Z |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=DescribeFilesForSQLServer
&DBInstanceId=rianeurbfaeuq2u2a1370572118496
&StartTime=2014-06-11T15:00Z
&EndTime=2014-06-11T16:00Z
&<公共请求参数>
返回示例:
XML格式:
<DescribeFilesForSQLServerResponse>
<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>
<TotalRecordCount>1</TotalRecordCount>
<PageNumber>1</PageNumber>
<PageRecordCount>1<PageRecordCount>
<Items>
<SQLServerUploadFile>
<DBName>testdb01</DBName>
<FileName>testdb01_1370572475975.bak</FileName>
<FileSize>1243435</FileSize>
<InternetFtpServer>10.230.239.1</InternetFtpServer>
<InternetPort>3021</InternetPort>
<IntranetFtpServer></IntranetFtpServer>
<IntranetPort></IntranetPort>
<UserName>MKEakJbyG</UserName>
<Password>aT2Y_XN1GGnOLzm</Password>
<FileStatus>Success</FileStatus>
<CreationTime>2014-06-11T15:02:40Z</CreationTime>
</SQLServerUploadFile>
</Items>
</DescribeFilesForSQLServerResponse>
JSON格式:
{
"PageNumber": 1,
"TotalRecordCount": 1,
"PageRecordCount": 1
"Items": {
"SQLServerUploadFile": [
{
"DBName":"testdb01"
"FileName":"testdb01_1370572475975.bak"
"FileSize":"1243435"
"InternetFtpServer":"10.230.239.1"
"InternetPort":3021
"IntranetFtpServer":""
"IntranetPort":
"UserName":"MKEakJbyG"
"Password":"aT2Y_XN1GGnOLzm"
"FileStatus":"Success "
"CreationTime":"2014-06-11T15:02:40Z"
}
]
},
"RequestId":"08A3B71B-FE08-4B03-974F-CC7EA6DB1828"
}
数据库迁入-导入数据
(SQL Server):
描述:
调用本接口,进行外部数据迁移操作,RDS下达任务,实例状态由“使用中”变为“恢复中”
任务执行结束,实例正常运行
必须满足以下条件:
- 实例状态:运行中
- 当前实例没有实例升级任务
- 当前实例没有恢复备份任务
- 当前实例没有被锁定
- 数据文件是可用的
- 数据文件不能超出实例允许的大小(实例存储空间-已使用空间+当前数据库空间)
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值:ImportDataForSQLServer |
DBInstanceId |
String |
是 |
实例名 |
FileName |
String |
是 |
数据文件名,带扩展名 |
返回参数:
参数 |
类型 |
描述 |
ImportId |
Integer |
任务ID |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=ImportDataForSQLServer
&DBInstanceId=rianeurbfaeuq2u2a1370572118496
&FileName=testdb01_1370572475975.bak
&<公共请求参数>
返回示例:
XML格式:
<ImportDataResponse>
<RequestId>66816822-CEC1-4C8D-AB26-2530A7D4DCA5</RequestId>
<ImportId>1212422</ImportId>
</ImportDataResponse>
JSON格式:
{
"RequestId":"66816822-CEC1-4C8D-AB26-2530A7D4DCA5"
"ImportId":1212422
}
数据库迁入-查看导入列表
(SQL Server):
描述:
说明:查看数据库导入列表,查看导入任务情况,判断导入任务是否完成。
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值:DescribeImportsForSQLServer |
DBInstanceId |
String |
是 |
实例名 |
ImportId |
Integer |
否 |
迁移结果ID |
StartTime |
String |
是 |
查询开始时间,格式如:2011-06-11T15:00Z |
EndTime |
String |
是 |
查询结束时间,格式如:2011-06-11T16:00Z,且大于查询开始时间 |
PageSize |
Integer |
否 |
每页记录数,取值:30|50|100默认值:30 |
PageNumber |
Integer |
否 |
页码,大于0,且不超过Integer的最大值默认值:1 |
返回参数:
参数 |
类型 |
描述 |
TotalRecordCount |
Integer |
总记录数 |
PageNumber |
Integer |
页码 |
PageRecordCount |
Integer |
本页SQL语句个数 |
Items |
List<SQLServerImport> |
|
SQLServerImport:
参数 |
类型 |
描述 |
ImportId |
Integer |
迁移ID |
FileName |
String |
文件名 |
DBName |
String |
导入的数据库名 |
ImportStatus |
Integer |
导入状态,取值: Pending:未开始 Importing:导入中 Success:导入成功 Failed:导入失败 Cancelled:任务取消 Cancelling:迁移取消中 |
StartTime |
String |
导入时间格式:YYYY-MM-DD’T’HH:mm:ssZ,如2011-05-30 |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=DescribeImportsForSQLServer
&DBInstanceId=rianeurbfaeuq2u2a1370572118496
&StartTime=2014-06-11T15:00Z
&EndTime=2014-06-11T16:00Z
&<公共请求参数>
返回示例:
XML格式:
<DescribeImportsForSQLServerResponse>
<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>
<TotalRecordCount>1</TotalRecordCount>
<PageNumber>1</PageNumber>
<PageRecordCount>1<PageRecordCount>
<Items>
<SQLServerImport>
<DBName>testdb01</DBName>
<FileName>testdb01_1370572475975.bak</FileName>
<ImportStatus>Success</ImportStatus>
<StartTime>2014-06-11T15:11:40Z</StartTime>
</SQLServerImport>
</Items>
</DescribeImportsForSQLServerResponse>
JSON格式:
{
"PageNumber":1,
"TotalRecordCount":1,
"PageRecordCount":1
"Items": {
"SQLServerImport": [
{
"DBName":"testdb01"
"FileName":"testdb01_1370572475975.bak"
"ImportStatus":"Success"
"StartTime":"Innodb"
}
]
},
"RequestId":"08A3B71B-FE08-4B03-974F-CC7EA6DB1828"
}
其他实例迁入:
描述:
从其他RDS实例迁入,支持MySQL和SQLServer的专享型实例。
A. SQLServer实例:
支持批量DB迁入。迁移过程中,源实例的状态处于“迁移中”,目标实例的状态处于“数据导入中”。满足以下条件:
适用于不同实例间(实例都属于同一个用户)的DB迁移;
实例状态:运行中
实例DB状态:运行中
目标实例锁定模式:正常
目标实例的存储空间 > 目标实例的使用空间-目标实例DB的空间+源实例DB的空间
B. MySQL实例:
支持批量DB迁入。迁移过程中,源实例的状态处于“迁移中”,目标实例的状态处于“数据导入中”。满足以下条件:
适用于不同实例间(实例都属于同一个用户)的DB迁移;
实例状态:运行中
实例DB状态:运行中
目标实例锁定模式:正常
目标实例的存储空间 > 目标实例的使用空间-目标实例DB的空间+源实例DB的空间
待迁移DB在源实例和目标实例都必须存在,而且是激活状态。
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值:ImportDatabaseBetweenInstances |
DBInstanceId |
String |
是 |
实例名 |
SourceDBInstanceId |
String |
是 |
源实例名,不能与待迁移实例相同 |
DBInfo |
List<String> |
是 |
待迁移实例的DB信息,JSON串格式,见DBInfo参数 示例: {"DBNames": ["mydb","mydb2"]} 对于MySQL实例,值为数组{"DBNames":{"srcdb":"destdb","srcdb2":"destmydb2"}} 对于SQLServer实例,值为key-value对,key为原db,目标为迁移目标db,此项必填,key和value值也不能相同 |
返回参数:
名称 |
类型 |
描述 |
ImportId |
Integer |
导入实例Id |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=ImportDatabaseBetweenInstances
&DBInstanceId=riauvjz6zajfiq6ba1370329449201
&SourceDBInstanceId=rdsmn6nqimn6nqi
&{"DBNames":["mydb","mydb2"]}
&<公共请求参数>
返回示例:
XML格式:
<ImportDatabaseBetweenInstancesResponse>
<ImportId>2122321</ImportId>
<RequestId>5A77D650-27A1-4E08-AD9E-59008EDB6927</RequestId>
</ImportDatabaseBetweenInstancesResponse>
JSON格式:
{
"ImportId":2122321
"RequestId":"5A77D650-27A1-4E08-AD9E-59008EDB6927"
}
取消迁移:
描述:
说明:支持取消SQL
SERVER的自建入云和其他RDS迁入(MySQL类型)的迁移任务。
SQL Server类型的其他RDS迁入任务暂不支持取消迁移。
请求参数:
名称 |
类型 |
是否必须 |
描述 |
Action |
String |
是 |
系统规定参数,取值:CancelImport |
DBInstanceId |
String |
是 |
实例名 |
ImportId |
Integer |
是 |
迁移ID |
示例:
请求示例:
https://rds.aliyuncs.com/?Action=CancelImport
&DBInstanceId=rdsaiiabnaiiabn
&ImportId=12342323
&<公共请求参数>
返回示例:
XML格式:
<ImportDatabaseBetweenInstancesResponse>
<ImportId>2122321</ImportId>
<RequestId>5A77D650-27A1-4E08-AD9E-59008EDB6927</RequestId>
</ImportDatabaseBetweenInstancesResponse>
JSON格式:
{
"RequestId":"17F57FEE-EA4F-4337-8D2E-9C23CAA63D74"
}