WEB开发网
开发学院数据库MSSQL Server 重建SQL Server的master数据库(三) 阅读

重建SQL Server的master数据库(三)

 2008-11-10 10:10:10 来源:WEB开发网   
核心提示:问题 好的,到目前为止,重建SQL Server的master数据库(三),我们已经重建好我们的master数据库了,我们已经经历了神奇而又简单的重建过程,并重新启动服务,这样做最好的就是当发现有不一致或者有问题后,(这就是数据库管理员所需要做的事情:集中精力花时间去做好充分的准备防止错误的发生,要比你遇到事情过后再去

问题

好的,到目前为止,我们已经重建好我们的master数据库了,我们已经经历了神奇而又简单的重建过程。(这就是数据库管理员所需要做的事情:集中精力花时间去做好充分的准备防止错误的发生,要比你遇到事情过后再去重新准备要顺利得多,磨刀不误砍柴功!),现在我们面临的就是需要恢复我们在重建过程中失去的那些流程:登录、作业、还有那些数据库。我想这些都是很重要的,那就让我们开始工作吧,怎么样?

解决方案

在详细介绍之前,你应该已经阅读了这一系列文章的前面两篇:

重建SQL Server的master数据库-第一部分

重建SQL Server的master数据库-第二部分

此外,如果您已经阅读了前面两篇文章,你现在应该准备好所有的材料,用来完成重建过程中您的master数据库,并让您的服务器重新联机对应的所有的用户进行开放。

如果您已经阅读了第一部分和第二部分文章,你的master数据库应该被重建了,现在你就需要附加上分离的数据库,并且要重新创建其他的项目。

附加上所有的用户数据库

现在,我们终于要进入对于用户来说最重要的事情,就是他们的数据库。

现在,我们终于进入最重要的用户-他们的数据库。我们先来热热身,我们把创建的脚本命名为1.sql。在运行前要仔细检查一下,这些数据库不包括master、msdb、model和tempdb数据库,然后运行它。

一旦完成过后,当需要被用到的时候,你的实例几乎就非常的简明扼要了,但又不是相当的明确!

重新创建登录

在第一篇文章的篇幅里,我们运行输出脚本的时候主要用来创建登录... T-SQL的命令语句我们保存为2.sql。那么现在我们就用来载入2.sql和执行它。

最终的结果是在大多数的情况下,默认的数据库就是系统数据库,还没有设置任何的登录(因为我们还没有附加上任何的用户数据库)。因为我们无法预测到用户是否尝试连接到实例,所以就没有必要关注了。

还原数据库的dbo别名

运行在第一部分创建的脚本3.sql文件,用来恢复dbo的别名所在的用户数据库。

在master和msdb数据库中创建Custom对象

在重建的准备工作做好后,如果我们在最后一步还没有完成后就执行了任何一个脚本文件,重建的工作都将会失效。在那一步当中,用脚本创建的每一个对象都会在我们的实例中存在,我们可以安全的重新运行这些脚本来重新创建它们。

创建SQL代理作业,操作员等

继续我们有序的工作,现在你需要运行在先前涉及到的SQL代理对象的任何一个脚本:特别是作业和操作员。你可能会注意到,作业的计划并没有体现在这个表单中,那是因为通过在作业里面创建的这些脚本,已经在msdb数据库中不存在了。

还原系统数据库的Securables

当用户数据库恢复的时候,也连同他们的securables一同恢复。但在系统数据库当中,并非是如此情况。如前所述,这些数据库是完全进行了重建,需要一些后建的工作,以确保它们达到先前的状态。验证4.sql只包含securables的系统数据库,然后可以对它们的securables进行修改,以便于再运用。 (现在就是清理的时间了! )

当4.sql文件执行后是你所需要的状态,就开始执行它。

检查和核对SQL实例的服务帐号

在SQL的实例重新回归到用户使用前,不仅仅需要对SQL Server的服务的实例服务帐号进行检查,而且还需要对代理和浏览器服务进行检查。有必要还需要对相应进行变更,并重新启动服务。这样做最好的就是当发现有不一致或者有问题后,给用户带来不必要的影响。

Tags:重建 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接