· 每日国外媒体IT头条摘要
· 世界IT名刊 精彩报道
· 高端访谈 见证展望IT业
· 非典型评论 观点犀利精辟
 赛迪网 > 资讯中心 中国计算机报 > 文章
  IT资讯搜索
 
IT产品搜索

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

发布时间:2008.05.06 14:14     来源:赛迪网-中国计算机报    作者:王淑江

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

文件组成原理

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

数据文件

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

日志文件

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

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

各种文件丢失恢复方法

数据文件丢失

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

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

日志文件丢失

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

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

当包含活动事务日志的文件丢失时,使用无活动事务的日志丢失处理方法,将显示“数据库和日志文件不符合,不能附加数据库”错误信息。数据库管理员首先要停止SQL Server服务,将数据文件备份到安全区域。然后启动SQL Server服务,创建新的同名数据库,再停止SQL Server服务,用备份的数据文件覆盖新创建的数据文件。以单用户模式启动SQL Server服务后,将数据库模式设置为紧急模式,使用“DBCC CHECKDB”命令检验数据库的状态,完成后将数据库设置为正常模式,即可完成数据库的修复。

数据表文件丢失

在业务系统中提供的数据删除功能和数据库管理员在维护数据库过程中,使用Delete命令删除数据表中的数据,产生的结果完全相同。在工作中经常会遇到误删数据的情况。管理员发出删除数据命令后,首先将删除命令记录在日志文件中,然后在数据库中执行删除操作。由于数据行记录在数据页中,已经删除的数据页并没有真正删除“Slot”中的数据,只是将数据页标记为已经使用,如果有新的数据写入,不会对此类数据页写入数据。

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 如何恢复误删除的应用文件 (05-06) · 还原数据库文件的实战 (05-06)
· 2007年关系数据库管理系统市场收入增12.1% (05-04) · 初学者需要掌握的数据库设计词汇对照表 (04-30)
· 超大型Oracle数据库应用系统的设计方法 (04-30) · 三大措施设置数据库安全 保障网站安全运营 (04-30)
· 讲解Sybase数据库截断和清空日志的方法 (04-25) · 带你轻松接触数据库命名规范的相关概念 (04-24)
· MySQL护航!Sun坚定闯进150亿数据库市场 (04-24) · 全面解析Oracle无法连接本地数据库问题 (04-21)
  客户需求反馈表
* 姓  名:
更多资料 了解方案 认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管