在异步镜像中移动主数据库文件实战

简介:

在异步数据库镜像中,移动主数据库文件实战


某数据库部署为异步数据库镜像,主数据库所在磁盘空间不足,我得移动主数据库文件到新的磁盘上。


在异步数据库镜像中,应用程序连接到主数据库访问。我们这里要根据你的线上环境考虑选择哪种方式合适:

1. 手动故障转移到镜像库,然后再移动新的镜像数据库文件。

2. 直接移动主数据库文件。


我个人认为,如果业务无法容忍长时间停机,建议先手工故障转移到镜像库,业务切换连接串。如果此时,新的镜像库所在实例上还有其他线上业务数据库,以业务第一,建议重做镜像,将数据库文件放到新的位置。待镜像搭建完成后,再重新手工故障转移回来,业务也指向回来。


由于我们线上业务恰好有停机维护时间窗口。在此期间,我直接移动主数据库。下面,我们先来尝试在业务停机期间,直接移动主数据库文件。


1. 在主数据库上做完整备份,避免出现问题。


2. 在主库上点击“Pause”,暂停镜像会话。


3. 在主库上使用Alter Database指向一个新的位置。

a) 确定WMS数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。

1
2
3
4
SELECT  name , physical_name
FROM  sys.master_files
WHERE  database_id = DB_ID( 'WMS' );
GO


b) 使用 ALTER DATABASE更改每个文件的位置。

1
2
3
4
5
USE master;
GO
ALTER  DATABASE  WMS
MODIFY  FILE ( NAME  = FLUXWMS_DEMO, FILENAME =  ' H:\SQL-LOG\WMS.mdf' );
GO


4. 重启主数据库所在实例的SQL Server服务。(这里对于主数据库所在实例上还有其他业务数据库,务必得考虑对其他业务的影响,我们选择移动镜像数据库文件的第二种方法)


5. 移动主数据库文件到一个新位置,并确保文件上的权限也还在。


6. 使WMS数据库 OFFLINE 再 ONLINE,以实施更改。(当然,此时重启SQL Server服务应该也可以,但如果操作的主库所在实例上有其他业务数据库,会受到影响,建议还是在数据库级别操作)

1
2
3
4
5
USE master
GO
ALTER  DATABASE  WMS  SET  OFFLINE
ALTER  DATABASE  WMS  SET  ONLINE
GO


这时,我们再来看看数据库状态。

在主库上:

clip_image001

clip_image002

发现状态已经正常。


7. 在主库上点击“RESUME”,恢复镜像会话。验证镜像状态已同步。

clip_image003


这样也验证了Alter Database移动数据库文件的操作是修改了master系统数据库,而不会被同步到镜像数据库。















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1904885,如需转载请自行联系原作者


相关文章
|
2天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
27 0
|
2天前
|
存储 数据库
LabVIEW如何修复或重置NI MAX数据库文件
LabVIEW如何修复或重置NI MAX数据库文件
13 0
|
2天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
24 0
|
2天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
10 0
|
2天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
2天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
2天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
2天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
2天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
2天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。