
# 使用导入导出功能将本地SQL Server数据库迁移到RDS for SQL Server
#### 适用场景
- 用户在本地实例上创建SQL Server数据库。
- 本地SQL Server实例的版本高于RDS for SQL Server实例的版本时，无法通过DRS进行迁移。
- 不想进行数据库粒度的同步，仅针对个别表对象进行同步。
 
#### 操作步骤
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-rds-mssql/zh-cn_image_0000002608357289.png)，选择区域。
3. 在"实例管理"页面，选择目标实例，单击实例名称，进入实例的"概览"页签。
4. 在左侧导航栏，选择"连接管理"。
5. 在"连接信息"模块"公网地址"处，单击"绑定"。
6. 在弹出框选择对应的弹性IP。
7. 在本地安装SQL Server客户端管理工具，通过弹性IP进行连接。 
   ![](https://support.huaweicloud.com/bestpractice-rds-mssql/public_sys-resources/note_3.0-zh-cn.png)
   单击"[此处](https://docs.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017)"，下载官网客户端。
   
   
8. 通过SQL Server自带的脚本生成工具，生成ECS上的数据库结构脚本。 
   1. 选中需要生成schema脚本的数据库，单击鼠标右键选择"任务 \> 生成脚本"。
   
   2. 在导航页中根据提示单击"下一步"，在"选择对象"页面，确定要导出的对象，可选择全部，也可以选择独立对象模块导出。如[图1]所示。
      图1选择要导出的对象   
      ![](https://support.huaweicloud.com/bestpractice-rds-mssql/zh-cn_image_0000002264547313.png "点击放大") 
   
   3. 单击"下一步"，在"设置脚本编写选项"页面，选择将要导出文件的保存位置。
      ![](https://support.huaweicloud.com/bestpractice-rds-mssql/public_sys-resources/note_3.0-zh-cn.png)
      建议保存到本机，并生成一个SQL脚本方便执行。
      图2选择导出文件的保存位置   
      ![](https://support.huaweicloud.com/bestpractice-rds-mssql/zh-cn_image_0000002229547986.png "点击放大") 
   
   4. 单击[图2]中的"高级"按钮，进入"高级脚本编写选项"页面，根据实际需要选择具体脚本生成规则和相关细节，单击"确定"。例如：触发器，索引，唯一键，主键，服务器版本等重要选项。
      图3高级脚本编写选项   
      ![](https://support.huaweicloud.com/bestpractice-rds-mssql/zh-cn_image_0000002229707834.png "点击放大")
      ![](https://support.huaweicloud.com/bestpractice-rds-mssql/public_sys-resources/note_3.0-zh-cn.png)
      脚本Drop和Create是编写脚本数据类型的重要选项。
      
   
   5. 单击"下一步"完成脚本生成。
   
   
   
   
9. 通过SSMS客户端连接到目标RDS实例上，打开生成的脚本SQL文件。 
   ![](https://support.huaweicloud.com/bestpractice-rds-mssql/public_sys-resources/note_3.0-zh-cn.png)
   首先创建一个空的数据库，再通过该脚本在该数据库上创建相关结构。
   
   
10. 完成以上步骤后通过SQL Server自带的导入导出功能完成数据迁移。 
    1. 选择要导入的数据库，单击鼠标右键选择"任务 \> 导入数据"。
    
    2. 根据页面导航，单击"下一步"。
    
    3. 在"选择数据源"页面，选择要从中复制的源，单击"下一步"。
    
    4. 在"选择目标"页面，指定要将数据复制到何处，单击"下一步"。
       - **目标**：选择SQL Server Native Client（该选项根据您的目标类型进行选择）。
       
       - **服务器名称**：输入目标实例所在的IP和端口号。
       
       - **身份验证**：选择使用SQL Server身份验证，并在下方输入rdsuser账号和密码。
       
       - **数据库**：选择要导入数据的目标数据库。
        
    
    5. 选择复制源数据库中现有表或视图的全部数据，单击"下一步"。
    
    6. 在"选择源表和源视图"页面，勾选需要导入的表或视图，也可全选要导入的所有对象，再单击"编辑映射"，根据实际需要进行选择，至少选中启用标识插入。
    
    7. 根据页面导航，单击"下一步"。
    
    8. 选择立即执行，单击"下一步"。
    
    9. 根据导航单击"完成"，开始数据导入并查看进度，一般为4000行/秒。
    
    
    
    
 
