栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

SQL Server实例级别迁移上云

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL Server实例级别迁移上云

本文档介绍如何通过全量备份文件将自建SQL Server数据库的多个库或所有库全量迁移至阿里云RDS SQL Server。

前提条件

RDS实例为如下版本:

  • RDS SQL Server集群系列(2017企业版、2019企业版)
  • RDS SQL Server高可用系列(2008 R2、2012标准版、2012企业版、2014标准版、2014企业版、2016标准版、2016企业版、2017标准版、2019标准版)
  • RDS SQL Server基础系列(2012企业基础版、2012Web版、2016Web版)

背景信息

RDS SQL Server为您提供了三种基于OSS的数据库上云方案:

    全量备份数据上云(SQL Server 2008 R2)
    全量备份数据上云(SQL Server 2012、2014、2016、2017和2019)
    增量备份数据上云(SQL Server 2012、2014、2016、2017和2019)

以上三种数据库上云方案迁移的级别为数据库,即每次只能完成一个数据库迁移上云。如果SQL Server实例需要迁移的数据库数量较多,上述迁移方案将不再适用。

为解决多个数据库迁移上云问题,RDS SQL Server推出了实例级别的数据库迁移上云方案,您只需将SQL Server实例中所有数据库的完整备份文件上传到OSS Bucket(存储空间)的同一文件夹中,然后执行迁移上云脚本即可。

注意事项
  • 本方案仅支持全量迁移上云,暂不支持增量迁移上云。
  • 如果需要使用子账号执行迁移上云,请为子账号授予OSS和RDS的读写权限(即AliyunOSSFullAccess和AliyunRDSFullAccess权限)。

准备工作
  1. 安装Python2.7.18版本,详情请参见Python官网。
  2. 确认Python安装成功并查看版本。
    • Windows操作系统

      执行c:Python27python.exe -V查看Python版本,如果输出内容为:Python 2.7.18表明您已安装成功。

      如果提示“不是内部或外部命令”, 请在Path环境变量中增加Python的安装路径和pip命令的目录。

    • Mac、Linux或Unix操作系统

      执行python -V查看Python版本,如果输出内容为:Python 2.7.18表明您已安装成功。

  3. 选择下述方法之一,安装SDK依赖包:
    • 使用pip安装
      pip install aliyun-python-sdk-rds
      pip install oss2
    • 使用源码安装
      # 克隆OpenAPI
      git clone https://github.com/aliyun/aliyun-openapi-python-sdk.git
      # 安装阿里云SDK核心库
      cd aliyun-python-sdk-core
      python setup.py install
      # 安装阿里云RDS SDK
      cd aliyun-python-sdk-rds
      python setup.py install
      # 克隆阿里云OSS SDK
      git clone https://github.com/aliyun/aliyun-oss-python-sdk.git
      cd aliyun-oss-python-sdk
      # 安装阿里云OSS2 SDK
      python setup.py install
  4. 创建与目标RDS实例相同地域的存储空间(Bucket)。

    说明 如果存储空间已经存在,请跳过本步骤。

  5. 在目标RDS实例中创建与待迁移数据库名称相同的数据库,保持数据库为空。
    • 如果目标实例是RDS SQL Server 2012及以上版本,无需执行本步骤。
    • 如果目标实例是RDS SQL Server 2008R2版本。
  6. 备份自建SQL Server的所有数据库。警告
    • 为保障数据一致性,在执行全量备份期间,请勿写入新的数据,请提前安排以免影响业务运行。
    • 如果您不使用备份脚本来执行备份,备份文件必须按照数据库名称_备份类型_备份时间.bak的格式来命名,例如Testdb_FULL_20180518153544.bak。
    1. 下载备份脚本。
    2. 双击备份脚本,使用Microsoft SQL Server Management Studio(SSMS)客户端打开。
    3. 根据业务需求,修改下述参数。
      配置项说明
      @backup_databases_list需要备份的数据库,多个数据库以分号或者逗号分隔。
      @backup_type备份类型,取值:
      • FULL:全量备份。
      • DIFF:差异备份。
      • LOG:日志备份。

      注意 本案例中,取值需为FULL。

      @backup_folder备份文件所在的本地目录。如不存在,会自动创建。
      @is_run是否执行备份,取值:
      • 1:执行备份。
      • 0:仅执行检查,不执行备份。
      示例:
      SELECT
          
          @backup_databases_list = N'[dtstestdata],[testdb]'
          @backup_type = N'FULL',                    -- Backup Type? FULL: FULL backup; DIFF: Differential backup; LOG: Log backup
          @backup_folder = N'C:BACKUP'              -- Backup folder to store backup files.
          @is_run = 1                                -- Check or run? 1, run directly; 0, just check
    4. 运行备份脚本,数据库将备份至指定的目录中。

  7. 根据需求选择下述方法,将数据库备份文件上传到OSS的存储空间中。

    警告 请确保上传的OSS存储空间和RDS实例属于同一地域,既可以提高RDS读取备份文件效率,也可以避免无法下载备份文件导致任务失败。

    方法说明
    使用OSS Browser工具上传推荐使用OSS Browser工具上传备份文件到OSS。

    注意 如果您的自建数据库部署在ECS实例上,且ECS实例的网络为专有网络,那么在使用OSS Browser工具登录时,请用OSS Endpoint的专有网络地址,通过内网上传备份文件到OSS,提升备份文件上传的效率。

    使用OSS控制台上传如果备份文件小于5GB,可以直接使用OSS控制台上传。
    使用OSS API上传如果您有全自动无人干预上云需求,请使用OSS OpenAPI,通过断点续传的方式上传备份文件到OSS Bucket。

将数据库迁移至RDS
  1. 下载迁移上云脚本。
  2. 解压后执行如下命令,了解该脚本需要传入的参数信息。
    python ~/Downloads/RDSSQLCreateMigrateTasksBatchly.py -h

    结果如下:

    RDSSQLCreateMigrateTasksBatchly.py -k  -s  -i  -e  -b  -d 
    表 1. 参数说明
    参数说明
    access_key_id目标RDS实例所属的阿里云账号的AccessKey ID。
    access_key_secret目标RDS实例所属的阿里云账号的AccessKey Secret。
    rds_instance_id目标RDS实例ID。
    oss_endpoint备份文件所属的存储空间的Endpoint地址。
    oss_bucket备份文件所属的存储空间名称。
    directory备份文件在OSS存储空间中的目录。如果是根目录,请传入/。
  3. 执行迁移上云脚本,完成迁移任务。

    示例:

    将OSS存储空间(名称为testdatabucket)的Migrationdata目录中,所有满足条件的备份文件全量迁移到RDS SQL Server实例(实例ID为rm-2zesz5774ud8s****)。

    python ~/Downloads/RDSSQLCreateMigrateTasksBatchly.py -k LTAIQ**** -s BMkIUhroub******** -i rm-2zesz5774ud**** -e oss-cn-beijing.aliyuncs.com -b testdatabucket -d Migrationdata
  4. 查看迁移任务的执行进度。
    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
    2. 根据RDS实例的版本,选择下述操作步骤:
      • RDS SQL Server 2008 R2

        单击左侧导航栏的数据上云,你可以查看到所有提交的迁移上云任务。

        说明 可以单击右上角的刷新来查看迁移上云任务的最新状态。

      • RDS SQL Server 2012及以上版本

        单击左侧导航栏的备份恢复,然后单击备份数据上云记录页签。

        说明 默认会展示最近一周的记录,您可以选择时间范围来查看特定时间段内的上云恢复记录。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号