管家婆软件潍坊总代理
咨询热线:13465366075
网站首页 > 新闻资讯 > 系统数据库损坏了怎么办?

系统数据库损坏了怎么办?

来源:潍坊管家婆   时间:2019/11/18 10:25:12

在实际使用环境中,我们难免遇到不可抗力等因素导致数据库损坏的情况,尤其是系统数据库,如果系统数据库损坏了,我们是否只能选择重装数据库,而数据库的卸载、重装是否又是一件令人头疼的事情?通过本篇文章相信你会有不一样的想法。

首先我们有必要为大家讲解各个系统数据库的概念及功能:

如果你正常安装了sql server 数据库,第一次启动数据库时至少包括4个系统数据库:

Master \Model \Msdb \tempdb

它们长成这样:


一些老的版本(sql server 2005以前的版本)还会包含以下两个数据库: 

pubs 

Northwind 

下面我们针对各个数据库的作用一一介绍:


1.master数据库

任意SQL Server都有master数据库,而不管其是哪一版本或是自定义修改的。master数据库保存一组特殊的表(系统表)用于系统的总体控制。例如在服务器上新建一个 数据库时,将会在master数据库的sysdatabases 表中放入对应的条目。所有扩展的存储过程和系统存储过程都存储在master数据库中,而不论该存储过程是使用于哪一个数据库的。既然几乎所有描述服务器的信息都存储于master数据库中,那么显然该数据库对于系统至关重要,不能删除它。 


2. model数据库 

顾名思义,model数据库是指可以基于该模型得到一个副本。model数据库构成任何新建(据库的模板。也就是说,如果想要改变新建标准数据库的样式,则可以根据需要更改model


3. msdb数据库 

msdb数据库是SQLAgent进程存储任意系统任务的地方。如果计划对一个数据库每夜进行备份,则在msdb数据库中有一个记录项。如果每次执行任务时调度存储过程,则在msdb数据库中会有一个记录项。 


4. tempdb数据库 

tempdb数据库是服务器的主要工作区域之一。在执行一个复杂或者大型的查询操作时,SQL Server可能需要创建一些中间表来完成该操作,这项工作就是在tempdb数据库中进行的。只要创建自己的临时表,这些表就会创建在tempdb数据库中,即使您是在当前数据库中创建这些表的(别名是在本地数据库中自动创建以供引用的,而物理表在tempdb中创建)。只要需要临时存储数据,就很可能是将数据存储在tempdb数据库中。tempdb数据库与其他任意数据库不同。不仅数据库中的对象是临时的,连数据库本身也是临时的。每次启动SQLServer,tempdb数据库是系统中唯一**重建的数据库。 


5. pubs数据库 

pubs数据库是我们所熟悉的。它是原来的样本数据库之一,在SQL Server 2005之前作为安装数据库的一部分随SQL Server 一起提供。pubs 数据库是目前唯一能从 Microsoft网站上单 


6. Northwind数据库 

如果您有Access或者Visual Basic方面的编程经验,就很可能已经对Northwind数据库不陌生了。Northwind数据库是从SQL Server 7.0版本开始添加进来的,但是在SQL Server 2005的基 本安装中被删除了。 


好的,针对系统数据库我们已经介绍完毕了,相信大家也大致了解了各自的功能,那么如果系统数据库出现损坏或者被误删除了怎么办呢?是否只有重装一条路可以走呢?


这里我们以系统数据库MASTER损坏为例,详细为你介绍在不考虑重装数据库的前提下如何补救。通过上面的讲解我们知道一旦MASTER损坏,那么数据库肯定就无法启动了。 


此时解决master数据库的损坏的方法大致有三种: 


1:从备份还原master数据库 

还原master数据库的前提是你的master有做备份。千万谨记,master也必须备份。很多时候,有些人备份时会忽略这些系统数据库。一般master、msdb备份是必须的。 


2:复制master数据库模板 

如果你没有master备份,那么退而求次,选择从安装目录的Templates拷贝master数据库文件到对应的目录。如果你SQL SERVER安装在C盘,没有修改过安装路径,那么就是C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.SQL2008\MSSQL\Binn\Templates将其中的master数据库的mdf、ldf复制到C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.SQL2008\MSSQL\DATA下替换原有文件即可(记得做好备份)


3:重建master数据库 

找到SQL Server 2008的安装介质(插入光盘或拷贝介质到对应目录),在命令窗口将目录更改为setup.exe文件所在目录,然后运行下面命令(具体结合实际情况修改相关参数)


以上就是关于master数据库损坏的解决办法,希望对大家有所帮助。

小提示:对数据库的任何操作之前,防止数据丢失,请务必提前做好数据备份,当你的数据库出现只读、质疑、脱机、紧急模式等非正常情况,避免数据丢失或严重的二次损坏。


    有问题可联系:0536-8611377

返回列表