由于某些原因,需要将2个数据库实例合并为1个,也就是说要把其中的一台迁移到另外一台上面。 背景介绍 :下面的B,C代表2个实例,要把B中相关东西迁移到C实例上面。其中B上面有一部分的同步是从另外一台服务器同步过来,这里说是A吧,迁移版本相同(我操作的
由于某些原因,需要将2个数据库实例合并为1个,也就是说要把其中的一台迁移到另外一台上面。
背景介绍 :下面的B,C代表2个实例,要把B中相关东西迁移到C实例上面。其中B上面有一部分的同步是从另外一台服务器同步过来,这里说是A吧,迁移版本相同(我操作的版本为SQL SERVER 2008R2)
简单步骤如下:
1. 复制A实例上面的 Login和 Job 到B上面
Login的迁移可以参考:http://support.microsoft.com/kb/918992
Job的迁移可以使用资源管理器进行批量的生成,可以参见: http://www.cnblogs.com/dudu/archive/2013/02/27/sql-server-export-job.html
如果是新的环境可以采用还有msdb的方法来建立Job
2. 把B中有从A同步过来的表查询出来,然后建立A->C对应的同步连路
3. 检查B中服务器用户对应有权限是否在C中都已经存在
4. 停掉B中的应用程序,保证没有进程 (涉及非DBA人员)
然后进行备份,停掉服务(或者把库设置为离线) , 在C中还原
在完成步骤 1-3 的工作之后, 需要与非DBA人呗确认切换的时间, 有什么问题需要及时联系
5. 需要把A->B的复制连路断掉,删除就OK了。
其中第4步也可以用镜像或者是复制
镜像: 可以对数据库进行数据库镜像配置,停了业务,切换到镜像服务器。
复制: 对数据库的表都建立复制,完成之后,等待连接串切换到订阅端,然后进行停机操作。