自建sqlserver迁移到aliyun的rds for sqlserver实战

这篇具有很好参考价值的文章主要介绍了自建sqlserver迁移到aliyun的rds for sqlserver实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,在实际中有些客户有上云的需求,需要把线下自建的sqlserver迁移至aliyun的rds for sqlserver。大家第一时间想到的是用dts工具,根据工作经验,DTS迁移mysql类的数据库比较成熟,但是迁移sqlserver之类会有问题。首先面临的一个问题就是源库日志膨胀的问题,也就是说是迁移过程中,源库的日志是不能截断,否则日志序列会被重置,迁移任务失败。那有没有其他的方案呢?下面分享一下通过物理备份还原的方式迁移上云。

一、方案

1.1 版本的选择

SQLSERVER版本的兼容原则,是高版本向下兼容低版本,在aliyun上选择rds for sqlserver版本时,目标版本要等于或大于源版本。目前阿里云上支持的rds for sqlserver版本如下:

自建sqlserver迁移到aliyun的rds for sqlserver实战,SQL,sqlserver,数据库

1.2 脚本备份源库

DECLARE @name NVARCHAR(256) -- database name  
DECLARE @path NVARCHAR(512) -- path for backup files  
DECLARE @fileName NVARCHAR(512) -- filename for backup  
DECLARE @fileDate NVARCHAR(40) -- used for file name
 
-- specify database backup directory
SET @path = 'E:\backup\'  
 
-- specify filename format
SELECT @fileDate = CONVERT(NVARCHAR(20),GETDATE(),112) 
 
DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name 
FROM master.sys.databases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
AND state = 0 -- database is online
AND is_in_standby = 0 -- database is not read only for log shipping
 
OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   
 
WHILE @@FETCH_STATUS = 0   
BEGIN   
   SET @fileName = @path + @name + '.BAK'  
   BACKUP DATABASE @name TO DISK = @fileName  WITH STATS=10, COMPRESSION
 
   FETCH NEXT FROM db_cursor INTO @name   
END   
 
CLOSE db_cursor   
DEALLOCATE db_cursor

1.3 创建OSS存储空间

创建oss存储空间的目的是让rds for sqlserver从oss的bucket读取备份文件,以供恢复使用。

   1)登录OSS管理控制台。

   2)单击Bucket列表,然后单击创建Bucket。

   3)配置如下关键参数,其他参数可以保持默认。

   4)说明:创建的存储空间仅用于本次数据上云,且上云后不再使用,因此只需配置关键参数即可,为避免数据泄露及产生相关费用,上云完成后请及时删除。

参数

说明

取值示例

Bucket 名称

存储空间名称,全局唯一,设置后无法修改。命名规则:只能包括小写字母、数字和短划线(-)。必须以小写字母或者数字开头和结尾。长度必须在3~63字符之间。

migratetest

地域

Bucket所属的地域,如果您通过ECS内网上传数据至Bucket中,且通过内网将数据恢复至RDS中,则需要三者地域保持一致。

华东1(杭州)

本地数据库备份完成后,使用ossbrowser工具将备份文件上传到您的OSS Bucket中:

   5)下载ossbrowser,以Windows x64操作系统为例,解压下载的oss-browser-win32-x64.zip压缩包,双击运行oss-browser.exe应用程序。

   6)使用AK登录方式,配置参数AccessKeyId和AccessKeySecret,其他参数保持默认,然后单击登入。

   7)单击,选择需要上传的备份文件,然后单击打开,即可将本地文件上传至OSS中。

1.4 创建数据上云任务

   1)访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

   2)在左侧菜单栏中选择备份恢复。

   3)单击页面上方的OSS备份数据恢复上云。

   4)在数据导入向导页面,单击两次下一步,进入数据导入步骤。

   5)设置如下参数:

配置项

说明

数据库名

目标数据库名称,即数据导入RDS SQL Server实例之后的数据库名,必须和备份中的数据库名不同。说明 数据库名称需要符合SQL Server官方限制。

OSS Bucket

选择备份文件所在的OSS Bucket。

OSS子文件夹名

备份文件所在的子文件夹名字。

OSS文件列表

单击右侧按钮,可以按照备份文件名前缀模糊查找,会展示文件名、文件大小和更新时间。请选择需要上云的备份文件。

上云方案

打开数据库(只有一个全量备份文件):全量上云,适合仅有一个完全备份文件上云的场景。本操作选择打开数据库,此时CreateMigrateTask中的BackupMode = FULL并且IsOnlineDB = True。不打开数据库(还有差异备份或日志文件):增量上云,适合有完全备份文件加上日志备份(或者差异备份文件)上云的场景,此时CreateMigrateTask中的BackupMode = UPDF 并且IsOnlineDB = False。

一致性检查方式

异步执行DBCC:在打开数据库的时候系统不做DBCC CheckDB,会在打开数据库任务结束以后,异步执行DBCC CheckDB操作,以此来节约打开数据库操作的时间开销(数据库比较大,DBCC CheckDB非常耗时),减少您的业务停机时间。如果您对业务停机时间要求非常敏感,且不关心DBCC CheckDB结果,建议使用异步执行DBCC。此时CreateMigrateTask 中的CheckDBMode = AsyncExecuteDBCheck。同步执行DBCC:相对于异步执行DBCC,有的用户非常关心DBCC CheckDB的结果,以此来找出用户线下数据库数据一致性错误。此时,建议您选择同步执行DBCC,影响是会拉长打开数据库的时间。此时CreateMigrateTask 中的CheckDBMode = SyncExecuteDBCheck。

   6)单击确定。

请耐心等待上云任务完成,可以单击刷新查看数据上云任务最新状态。

二、常见问题 

  • 空间不足

错误信息:Not Enough Disk Space for restoring, space left (xxx MB) < needed (xxx MB).

错误原因:RDS实例剩余空间不满足备份文件上云所需要的最小空间要求。

解决方法:升级实例空间。

  • 权限不足

错误信息:Your RDS doesn’t have any init account yet, please create one and grant permissions on RDS console to this migrated database (XXX).

错误原因:RDS实例不存在高权限账号,OSS备份数据上云任务不知道需要为哪个用户授权,但是备份文件已经成功还原到目标实例上,所以任务状态是成功的。

解决方法:创建高权限账号

 文章来源地址https://www.toymoban.com/news/detail-598527.html

 

到了这里,关于自建sqlserver迁移到aliyun的rds for sqlserver实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 华为云数据库 RDS for MySQL 的读写分离,凭什么打破企业数据瓶颈?

    随着云2.0时代的到来,众多企业发现人工智能、大数据算法能为企业发展带来巨大的利润,人工智能、大数据算法等计算机算法被应用于企业的生产和发展,云+业务逐渐成为现代化企业发展的潮流,对传统数据库模式提出了挑战。 企业的业务从线下发展到线上,这就使得服

    2024年02月22日
    浏览(51)
  • 记录恶意SQL注入引发的RDS只读数据库CPU飚100%

    前言 : 在广州这座城市下着小雨的晚上,我正在厨房洗着碗,突然手机有来电,脱下手套,一看是来自阿里云的告警电话。打开飞书查看告警内容,发现某个业务的RDS只读实例CPU飚到100%,下意识觉得是不是有慢查询导致,想着不会有啥问题,上去kill慢查就好了,结果发现是

    2024年03月19日
    浏览(47)
  • 达梦数据库——数据迁移sqlserver-dm报错问题整理

    报错情况一:Sql server迁移达梦连接报错’驱动程序无法通过使用安全套接字Q层(SSL)加密与SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferencesITLS127‘ 原因:历史版本的SOL SERVER服务端默认使用TLS1.0版本协议对外提供服务,因安全问题

    2024年02月19日
    浏览(58)
  • 迁移更新EF Core 中的sqlserver 数据库提示0x80131904

    Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。)  --- System.ComponentModel.Win32Exception (0x80090325): 证书链是由不受信任的颁发机构颁发的

    2024年02月16日
    浏览(49)
  • 深度学习pytorch实战五:基于ResNet34迁移学习的方法图像分类篇自建花数据集图像分类(5类)超详细代码

    1.数据集简介 2.模型相关知识 3.split_data.py——训练集与测试集划分 4.model.py——定义ResNet34网络模型 5.train.py——加载数据集并训练,训练集计算损失值loss,测试集计算accuracy,保存训练好的网络参数 6.predict.py——利用训练好的网络参数后,用自己找的图像进行分类测试 1.自建

    2024年02月09日
    浏览(60)
  • (SQL)用bat启动sqlserver服务+创建数据库(学习笔记)

    注:我使用的软件是 Microsoft SQL Server Management Studio 18 我想创建一个bat的文本,于是就把记事本的后缀名txt直接改成了bat,但是当我想打开bat文件的时候却报错了。 改成 我双击 test.bat 文件,结果显示如下错误: 原来正确做法是 先创建后缀名是 txt 的文本,把代码写好,然后

    2024年02月05日
    浏览(65)
  • Elasticsearch数据迁移从aliyun到aws

    前言: Aliyun Opeasearch 6.8.6 迁移 Aws OpenSearch 7.10 数据量: 32.5G左右, 数据传输方法 Aliyun OSS -→ Aliyun ECS/ AWS EC2 --→ AWS S3 1):点击创建角色,AWS服务搜索S3: 2): 附加策略policy-es-s3: 3):输入角色名称OpenSearchSnapshotRole创建角色 4):修改信任实体 在角色列表中点击OpenSearchSnapshotRole,在

    2023年04月20日
    浏览(66)
  • win11 下 SQL2008数据库 SQLServer Management Studio 无法使用的问题

    系统升级到win11后,SqlServer2008数据库的管理工作SQLServer Management Studio 点击后没反应。经过测试数据库服务正常,只是管理工具无法使用。单独安装一个高版本的管理工具,问题解决。 我是下载的Sql Management Studio,链接如下:https://download.microsoft.com/download/8/a/8/8a8073d2-2e00-472b

    2024年02月11日
    浏览(58)
  • SQL Server数据库数据文件的迁移

    如何将一台电脑中的SQL Server数据库数据文件迁移到另一台电脑上? 一、首先查看数据库文件保存在电脑中的位置; 如下图所示:右键-》属性-》数据库设置;可以找到数据库文件保存位置; 二、数据库分离; 选择数据库,右键-》任务-》分离,然后确定; 数据库分离是指将

    2024年01月17日
    浏览(53)
  • 【数据库迁移系列】从Oracle迁移到openGauss实战分享

    之前的迁移系列中我们介绍了Mysql到openGauss的迁移方法,本篇介绍使用Ora2og工具从Oracle到openGauss数据库的迁移。 ora2pg 可以将 Oracle 或者 MySQL 数据库迁移到 PostgreSQL,应用场景小到 Oracle 数据库的反向工程,大到大型企业数据库迁移,或者简单地将一些 Oracle 数据复制到 Postgre

    2023年04月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包