SQLServer 服务器架构迁移

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:SQLServer 服务器架构迁移 最近服务器架构迁移,将原来的服务器架构迁移到新的服务器,新的服务器在硬件方面比之前更好!原来服务器使用双向同步,并且为水平划分到多个数据库服务器。迁移过程中,数据库方面涉及到数据一致性,帐号,重新划更多分区,规范索引,分布式查询,删除无效触发器等等。
+关注继续查看
原文:SQLServer 服务器架构迁移

最近服务器架构迁移,将原来的服务器架构迁移到新的服务器,新的服务器在硬件方面比之前更好!原来服务器使用双向同步,并且为水平划分到多个数据库服务器。迁移过程中,数据库方面涉及到数据一致性,帐号,重新划更多分区,规范索引,分布式查询,删除无效触发器等等。程序方面重新修改配置文件,SQL等。


原架构如图:



现在有相同的服务器,所有分库都迁移到新的服务器,再增加一台服务器作为独立的分发服务器。然而,总库已经没有多余的服务器了,怎么办?解决方法是 ,总库(DBA)中再安装一个数据库实例!这样,每台服务器都有对应了。为什么总库也要对应一个服务器?因为总库与分库有数据差异,用户使用的都是分库,所以原总库数据不能要!但是数据库名称仍然不变,所以只有新增一个实例了!总库不能要,怎么将分库数据汇总成一个完整的总库?过去使用过的方法,现在完整备份各分库还原到总库服务器并使用不同名称,停机维护时,将分库日志备份并还原到总库服务器中的各个分库,此时再使用merge与原总库对比,则原总库将会三一个完整的数据库。 但是,对比时间太长了!当前的方案是,将在各个分库建立事物发布,汇总到一个新实例中!(参考:SQL Server 中心订阅模型(多发布单订阅)


那么,整个迁移方案中,可以分为5个阶段:

第一阶段:前期阶段,计划方案,确定步骤,预先执行部分耗时操作;

第二阶段:停机前一两小时,预先准备,将步骤看清一边,预先执行可执行的操作;

第三阶段:停机维护中,更改分布式脚本;切换用户对数据库的访问;访问测试;

第四阶段:停机时间到,开启访问,重要的部分工作先完成;

第五阶段:接下来这一两天完成所有后续工作;并且观察数据库方面的性能;


切换架构如图:


上图中,上半部分是原架构,下半部分是新架构。考虑的问题较多!!同样分几个阶段处理:

第一阶段:

新服务器的和数据库的安装升级配置不必说了;

将总库备份还原到新实例,设置简单模式,并将里面的数据全部清空(truncate)并收缩数据库;

删除所有索引,批量创建主键;

添加文件及文件组,设置文件增长率;

重新划分更多分区,设置LOCK_ESCALATION ;

更改默认值约束,去掉无用触发器;

迁移登录帐号;

备份当前的空数据库,留着还原到新的分库中;

设置分发数据库;

原来的分库(db1~dbn)创建事物发布到新的总库中,只对表发布;(参考:SQL Server 中心订阅模型(多发布单订阅)

授予权限;

(新分库还原上面的空库并参考上面的一些步骤)

新总库创建发布到新分库中;

新分库设置完整模式并设置备份计划;


第二阶段:

链接服务器的更改;

停掉以前的复制;

禁止备份作业及其他相关作业;

检查同步情况;

对比没有汇总的一些参数表;


第三阶段:

停机维护启动;

检查同步情况及新旧数据库是否有差异(sysindexes)

更改sql脚本;

升级web配置文件


第四阶段:

授予开发人员权限;

部分权限修改;

观察系统运行情况;


第五阶段:

原总库数据库删除,新总库迁移到SSD盘;

辛苦备份计划创建;

作业转移或重建;

删除原分库到新总库的复制;

观察系统运行情况;


整个过程,方便的,几乎都用脚本来执行,因为脚本可以提前写好,可以计划好顺序。实际上,不出问题的话,停机维护时间可以不到半小时。总之,能其他做的先做,能往后做的后做,减少停机维护时间。


相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2天前
|
SQL 存储 关系型数据库
【SQL server】数据库入门基本操作教学
【SQL server】数据库入门基本操作教学
12 0
|
3天前
|
SQL 安全 数据库
SQL Server 2022 安装步骤——SQL Server设置身份验证教程
SQL Server 2022 安装步骤——SQL Server设置身份验证教程
34 0
|
3天前
|
SQL 数据库连接 数据库
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤
15 0
|
SQL 关系型数据库 MySQL
Python迁移不同服务器的SqlServer数据表
把一个数据表的数据迁移到另一个表上,可以连接不同数据库和服务器(只需修改自己数据库参数、SQL语句、插入的数据量)
164 0
|
监控 数据库
SqlServer迁移基础 --生成所迁移数据库所有表的BCP脚本
bcp 实用工具https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility 在> SSMS配合BCP迁移SQL Server数据库上阿里云> link博文基础完善 改动的地方如下 1:tempdb数据库的排序规则与迁移数据库的排序规则不一致.
4714 0
|
机器学习/深度学习 SQL 监控
SqlServer迁移基础 --生成所迁移数据库所有表的tablediff脚本
tablediff 实用工具用于比较两个非收敛表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。
4383 0
|
SQL 关系型数据库 MySQL
使用sqlyog将sql server 迁移到mysql
使用软件工具sqlyog(64位) sqlyog 迁移步骤 1、使用sqlyog连接目标数据库 连接目标数据库 2、选择目标数据库(需要先把表结构建好,从SQL Server同步表结构也可以使用工具,很早以前导的表结构,忘了用的什么工具) 选择数据库 3、选中数据库后点击工具栏【高级工具】——》【导入外部数据.
1350 0
|
SQL 监控 数据库
sql server数据库文件的迁移(mdf&ldf文件)
sql server数据库文件的迁移(mdf&ldf文件) mssql server数据库文件修改, --查看当前的存放位置   select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files     where database_id=db_id(N'数据库名');   在服务器不同磁盘目录内做迁移。
1595 0
|
SQL Linux Go
如丝般顺滑地从Windows迁移SQLServer数据库到Linux
# 问题引出 老鸟看过菜鸟的上一篇《MSSQL On Linux备份与还原》文章后,很满意,但是还是忍不住发问:“这篇文章讲的是MSSQL在Linux系统上的备份与还原,如果我之前是Windows系统的用户,怎么把我的数据库如丝般顺滑地迁移到MSSQL On Linux呢?”。 “嗯,老鸟,这个问题问的非常好,毕竟Windows的License费用不低,如果能够使用免费的Linux系统
3575 0
|
NoSQL 关系型数据库
数据传输DTS支持SQLServer不停机迁移
为降低数据迁移成本,数据传输DTS陆续推出多种数据库引擎(例如MySQL,Oracle,MongoDB等)的不停机迁移功能,通过不停机迁移功能,可以实现迁移源实例提供服务的情况下,进行数据迁移,最大程度降低依赖源实例的应用程序的停机时间。经过一段时间的打磨,DTS正式推出SQLServer不停机迁移
5521 0
推荐文章
更多