备份SQLServer
时间:2007-12-23 来源:不详 作者:迈克DB
备份的术语
系统故障
SQL Server记录文件
备份方法
执行备份
排程备份
改善备份
本章总结
将数据库备份是 DBA 最重要的任务之一。备份和仔细的还原计划可在系统失效时将数据还原。DBA 的责任是保持系统的执行状态,并在失效时尽快还原所有的服务。系统停止运作会造成许多不便,有时更要付出昂贵的代价,因此在系统停止运作时得很快的取得取得数据库备份。有些技术会对系统失效的还原有帮助,如丛集和容错磁盘子系统,但是还是比不上一个好的计划和可靠的备份。
因为备份、还原和复原数据库的主题十分重要,因此我们会分成两章的来讨论。本章中将学习 SQL Server 交易记录文件,以及备份数据库的几种方法。在 第 33 章 中,将学习如何还原数据库、SQL Server 如何回复、以及如何建立回复计划。
备份的术语
在开始讨论备份技术之前,让我们回顾一些术语。在这个章节中,您将学到关于备份、还原、和回复操作的实例。
备份和还原
备份(backup)和还原(recover)操作相辅相成的,即保存数据库中的数据以便稍后使用,类似操作系统所执行的备份和还原作业。在备份过程中,数据从数据库中复制出来,并保存到另一个位置。操作系统备份和数据库备份是不同的,差别在于操作系统备份可以保存个别的档案,而数据库备份则保存整个数据库。通常数据库供很多的使用者共享,但是很多操作系统档案则是属于各使用者。因此,数据库备份同时备份了所有的使用者的数据。由于 SQL Server 设定了使用时间的最大值,因此不管当时使用者是否正在存取数据库,备份过程都会执行。 内容来自dedecms
在还原过程中,备份数据被复制回数据库中。不要将还原(restore)和回复(回复)混淆在一起,这是两种不同的操作。和备份过程不同的是,当 SQL Server 正在执行时,还原过程无法进行。此外,数据表也无法个别还原。假如一个使用者遗失了数据库中的某些数据,遗失的数据很难还原,因为还原操作将还原整个数据库或者部分数据,而从数据库的所有数据中区分出单一使用者的数据是相当困难的。
回复
回复(recovery)包含用来解救系统故障的关系型数据库治理系统(RDBMS)和重新进行(回复)交易的能力。每次变更数据库时,SQL Server 并不会立即将变更写到磁盘上。假如系统每次都立即写到磁盘上,那么一个大系统(例如银行中的系统)可能会运作得相当缓慢,因为必须等待每笔交易完成写入后才能进行。这会导致交易延迟。
由于将变更内容写入磁盘时有所延迟,系统失效时可能会使数据库处于毁损状态,有些数据库的变更可能还没写到磁盘上,或是写到磁盘上的变更可能未被认可。为了保持系统的完整性,SQL Server 在交易记录文件中记录了所有的变更。(交易记录文件将在本章的 <交易记录文件> 一节中具体讨论。)系统失效后重新启动 SQL Server,它会使用交易记录文件来进行所有已经认可但没有写入磁盘的交易,并且返回故障时没有认可的交易。在这种方式中,可以保证数据的正确性。 copyright dedecms
在回复过程中,SQL Server 必须预备好处理多种类型的交易,包含以下:
• 只进行查询的交易 不需要回复。
• 已经变更数据库中的数据交易,以及已经认可但没有写到磁盘上 在回复过程中,SQL Server 从磁盘上读取数据页,重新套用变更,然后再将数据页写回磁盘上。
• 已经变更数据库中数据的交易,已经认可而且已经写到磁盘上 在回复过程中,SQL Server 确定变更已经写到磁盘上,不需要其它介入。
• 已经变更数据库中数据的交易,还没有认可 在回复过程中,SQL Server将使用交易记录文件,复原所有数据页上的变更,将数据库还原到交易执行前的状态。
当 SQL Server 从系统失效后重新启动时,回复机制将自动开启。回复机制利用交易记录文件来确定哪些交易需要回复,哪些不需要回复。很多的交易是不需要回复的,但是 SQL Server 仍必须读取交易记录文件才可做决定。SQL Server 从最后的检查点开始读取交易记录文件。(检查点将在本章的后面加以讨论。)
文章评论
共有位Admini5网友发表了评论 查看完整内容