SQLServer技术(105)

来源:互联网 发布:php和mysqlweb开发pdf 编辑:程序博客网 时间:2024/04/30 11:26
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
    系统数据库保存了有关的许多重要数据信息,这些数据的丢失将给系统带来极为严重的后果,所以我们也必须对系统数据库进行备份。这样一旦系统或数据库失败,则可以通过恢复来重建系统数据库。在SQLServer中重要的系统数据库主要有master、msdb、distribution、model。虽然tempdb也是系统数据库但没有必要对其进行备份,因为SQLServer每次启动都会重新创建该数据库,而当SQLServer停止运行时,tempdb数据库中所有数据都会被自动清除。在本节我们主要讨论master数据库的备份和恢复问题。
    备份master数据库与备份用户数据库一样,只要数据库状态发生变化我们就要通过备份来保存这些变化以防止一旦系统失。败而导致数据丢失以下情况的发生往往要求我们立即对master数据库进行备份。

    增加或删除用户数据库。但是如果增加或删除文件或文件组,或用户数据库自动增加来容纳新添加的数据,这些操作并不对master数据库产生影响,所以此时不必对其进行备份;
    创建新的登录或执行与登录有关的操作,但是增加数据库用户并不影响master数据库;
    创建或删除备份设备;
    为了进行分布式查询或远程过程调用而对数据库服务器进行配置,如增加连接服务器或远程登录等。
    对master数据库,我们常进行完全数据库备份。而恢复master数据库,却有两种途径:或是使用master数据库当前备份,或是执行RebuildMasterUtility来重建master数据库。如果master数据库遭到的损坏还不足以使SQLServer无法启动,我们可以使用master数据库的当前备份来执行恢复;如果master遭到严重破坏,SQLServer无法启动,或者master数据库的当前备份也不能使用,我们则必须执行RebuildMasterUtility来重建master数据库(此时master数据库中的所有以前的数据都将丢失),然后再使用备份来进行恢复(如果master的备份可以使用)。
    使用RebuildMasterUtility来重建master主要执行以下步骤:
(1)关掉SQLServer,然后运行位于/MicrosoftSQLServer/80/tools/Binn下的Rebuildem.exe文件,出现RebuildMaster对话框。如图15-17所示。

(2)单击Browse按钮来浏览包括Data文件的源目录。
(3)单击Setting按钮出现CollationSetting对话框,如图15-18所示。
(4)单击Rebuild按钮重建Master数据库。


    重建master数据库只是整个恢复工作的开始,然后要装入master数据库的备份。如果备份不可用,则要重新创建任何必要的备份设备,接着恢复msdbmodeldistribution数据库以及用户数据库。对于那些在master数据库最近的备份后所创建的数据库来说,如果其存在备份,则使用备份进行恢复,如果不存在,只能通过重新连接数据库文件(数据和日志文件)来重新恢复数据库。
    在SQLServer中,我们可以拆开数据库的数据文件和事务日志文件,然后将它们重新连接到另外的服务器或同一个服务器。拆开数据库就是将数据库从SQLServer中删除,但是保持数据和事务日志文件的完整性。然后事务日志和数据文件可在任何运行SQLServer的服务器上被重新连接成该数据库。因此当您准备把数据库从一台机器移到另外的机器上但不重新创建数据库,或者将数据库移到另外的磁盘上您会发现数据库的拆分和连接是很有用处的。

本章小结
    本章主要讨论数据库备份和恢复的相关问题。重点应了解各种不同数据库备份方法的异同点,学会根据不同实际情况制定相应的备份和恢复策略。了解备份设备的创建方法以及如何使用SQLServerEnterpriseManager和BACKUP、RESTORE命令备份或恢复数据库。


<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>