沉着应对突发的数据库灾难

数据库
数据库在企业占有着非常重要的地位,企业的多有秘密信息数据都储存在数据库中,然而数据库一旦发生点故障,整个企业可能就陷入瘫痪,所以在数据库遇到灾难时要沉着应对,及时解决问题。

导读:数据库中的数据信息具有很高的价值,不容被破坏,当然,数据库网络管理员都有可能遇到数据库崩溃的时候。若故障发生时,计算机未必有时间把未完成的事务和内存中的数据页写入磁盘,将可能出现数据丢失或者数据库不能正常访问的故障,轻则使企业的业务系统不能运行,重则可能会给企业带来灾难性的损失。数据库管理员最重要的职责是保证数据库系统正常运行,为决策层领导提供数据支持,这是数据库管理员的基本目标。数据库管理员需要了解数据库文件结构原理,不同情况下数据丢失的恢复方法,以沉着应对各种数据丢失的突发事件。

  文件组成原理

  SQL Server数据库系统主要由两大部分组成,分别是数据文件以及日志文件。数据文件存储数据,日志文件存储操作数据的行为。

  数据文件

  SQL Server数据库包含两种类型的数据文件:主数据文件和次要数据文件。主数据文件是数据库的起点,指向数据库中的其他文件。每个数据库都有一个主数据文件。主数据文件默认文件扩展名是.mdf。除主数据文件以外的所有其他数据文件都是次要数据文件。某些数据库可能不含有任何次要数据文件,而有些数据库则含有多个次要数据文件。次要数据文件的推荐文件扩展名是.ndf。

  日志文件

  日志文件在数据库中作用十分重要。在执行数据操作的过程中,首先将数据操作命令写入到缓存中,并立即写入日志文件,但不会立即写入数据文件。日志文件通过一个标记点来确定某个操作是否已将缓存中的数据写入数据文件。当SQLServer重启后,会自动查看日志中最新的标记点,并将这个标记点后面的交易记录抹去,因为这些交易记录并没有真正地将缓存中的数据写入数据文件。这可以防止那些中断的操作修改数据文件。

  事务日志记录数据库操作命令,仅记录执行数据发生的动作,而不是记录数据的执行结果。因此备份事务日志后,将备份点之前已经完成的事务标记为“不活动”,而且在执行完整备份数据库后,将自动截断标记为“不活动”的日志记录。合理的安排事务日志备份将提高数据恢复的能力,可以将数据恢复到发生故障前的1秒钟。

  各种文件丢失恢复方法

  数据文件丢失

  数据库系统处于运行状态时,数据库文件处于“活动”状态,数据库文件不能被删除。如果确实出现数据文件被删除的情况,可能由于以下原因:MS SQL Server数据库服务停止;或者在企业管理器中,数据库管理员使用“分离数据库”功能,分离数据库后将数据库文件删除。

  当出现数据库文件被删除时,首先需要了解数据库文件如何被删除,再利用恢复软件恢复被删除的文件。如果是在服务被停止的状态下删除,数据库文件恢复后,数据库文件即可正常加载。如果是数据库分离后的删除,数据库文件恢复后,在企业管理器中,使用附加数据库功能即可。

  日志文件丢失

  日志文件丢失,经常出现在硬件出现故障时,主要体现在数据文件和日志分别存储在不同的物理介质中,当介质损坏时,日志文件随之丢失。丢失SQL Server日志文件分为两类:无活动事务的日志和包含活动事务的日志。

  SQL Server在工作状态下无法删除日志文件,事务日志文件在SQL Server服务未启动的情况下可以被删除。启动SQL服务后,数据库即被标志为“置疑”状态,这种状态下丢失的日志文件为无活动事务日志文件。无活动事务的日志丢失时,首先在企业管理器中,使用分离数据库功能,分离“置疑”的数据库。然后,使用附加数据库功能附加数据库,在附加的过程中创建新的日志文件即可。

掌握好这些方法,在数据库出现故障时或许能帮您解决难题,使数据库轻松度过难关,沉着应对突发的数据库灾难,不要慌张,要首先确保数据库中数据信息的安全。

【编辑推荐】

  1. 数据库营销“七剑”
  2. 国产数据库的艰难长征路
  3. 如何建立JSP操作用以提高数据库访问效率
责任编辑:迎迎 来源: 中国计算机报
相关推荐

2011-05-18 10:49:53

Oralce数据库

2015-08-18 15:37:31

数据中心灾备

2011-04-12 15:44:08

Oracle数据库

2022-06-06 15:41:09

数据库Redis性能

2012-11-14 16:27:41

2010-11-29 10:11:05

Sybase数据库死锁

2011-06-03 09:22:04

OracleOracle应用服务器

2015-01-19 10:18:53

Azure SQL数据库审计云安全

2023-12-10 14:24:41

缓存Go语言

2022-05-01 10:00:23

数据库MySQL

2015-06-01 15:25:06

Oracle数据库灾难恢复

2011-03-31 12:55:23

SQL Server备份

2018-08-09 12:23:31

数据库Oracle静默错误

2010-04-19 15:09:10

Oracle数据库

2020-12-01 15:12:49

字节跳动数据库数据

2023-02-27 07:11:55

云计算数据库灾难恢复

2015-07-27 15:01:12

NEC

2014-09-10 09:58:39

U-Mail邮件系统

2021-06-14 09:17:05

应对灾难物联网IOT

2020-02-28 18:27:37

运维管理微盟
点赞
收藏

51CTO技术栈公众号