SQL Server 2008 master 数据库损坏解决总结

  SQL Server 2008 master数据库损坏后,SQL SERVER服务启动失败,查看错误日志,你会看到下面错误信息:

2015-10-27 10:15:21.01 spid6s      Starting up database 'master'.
 
2015-10-27 10:15:23.01 spid6s      错误: 9003,严重性: 20,状态: 1。
 
2015-10-27 10:15:23.01 spid6s      The log scan number (227:418:1) passed to log scan in database 'master' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.
 
2015-10-27 10:15:23.01 spid6s      Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.

如果是数据库版本是中文版,你会看到类似下面的错误信息:

传递给数据库 'master' 中的日志扫描操作的日志扫描号
(227:418:1)
无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问
题导致启动期间出错,请从备份还原。

 

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

 

1: 从备份还原master数据库

 

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

 

2: 复制master数据库模板

   
如果你没有master备份,那么退而求次,选择从安装目录的Templates拷贝master数据库文件到对应的目录。如果你SQL
SERVER安装在C盘,没有修改过安装路径,那么可能就是C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates

 

3:重建master数据库

 

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

setup.exe
/QUIET
/ACTION=REBUILDDATABASE
/INSTANCENAME=instance_name
/SQLSYSADMINACCOUNTS= accounts
[/SAPWD=password]
[/SQLCOLLATION=collation_name]
时间: 2024-11-03 17:45:07

SQL Server 2008 master 数据库损坏解决总结的相关文章

SQL Server 2008清空数据库日志方法

  使用SQL Server2005清空数据库可用以下sql实现 Backup Log DNName with no_log go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go 不过这个存储过程在SQL Server2008中已经被取消,在2008需要改用以下方式来清空数据库日志 USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE W

SQL Server 2008备份数据库失败,拒绝访问的原因

原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Users的读写权限. 解决办法就是给sqlserver用户授予权限:    选择要备份的文件夹 ,右键-->属性-->安全-->看下"组或用户"是否包涵Authenticated Users 这个用名,因为是包括在计算机上或活动目录中的所有通过身份验证的账户,如果有了则给其分

SQL Server 2008 R2数据库镜像部署图文教程_mssql2008

概述 "数据库镜像"是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在同一时刻,其中一台上的数据库用于客户端访问,充当"主体服务器"角色:而另一台则根据镜像会话的配置和状态,充当热备份服务器,即"镜像服务器角色",这两种角色不是绝对的. 优点 l 增强了数据保护功能 l 提高了数据库的可用性 l 提高了生产数据库在升级

[解决方案]在Sql Server 2008/2005 数据库还原出现 3154错误

在Sql Server 2008/2005 数据库还原出现 3154错误 解决方法1:不要在数据库名字上点右键选择还原,而要是在根目录"数据库"三个字上点右键选择还原,然后再选择数据库,问题便可以解决,如果不行参照方法2   解决方法2:写sql语句处理: RESTORE DATABASE [databaseName]  FROM  DISK = N'X:\数据库备份\database.bak' with replace,      NOUNLOAD,  STATS = 10 GO

sql server 2008 复制数据库时报包创建错误,求高人指点!

问题描述 sql server 2008 复制数据库时报包创建错误,求高人指点! 使用sql server企业管理器里的复制功能,想把在远程服务器上的DMS数据库给复制到本地的数据库,在进行到包创建的时候报错:错误消息是: No description found (复制数据库向导) 程序位置: 在 Microsoft.SqlServer.Dts.Runtime.Application.FolderExistsOnSqlServer(String strFolderName String str

c#-连接的是SQL SERVER 2008的数据库,报出的错是2005的

问题描述 连接的是SQL SERVER 2008的数据库,报出的错是2005的 报错内容:在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 用c#些的程序,程序运行一段时间后报错,重启后又正常, 解决方案 驱动包不对........... 解决方案二: 连接的是SQL SERVER 200

SQL Server 2008 备份数据库、还原数据库的方法_mssql2008

SQL Server 2008 备份数据库: 1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份 2.弹出 [ 备份数据库对话框 ] ,如图: 3.点击添加 [ 按钮 ] . 如下图: 4.选择要备份的路径 和 备份的文件名 点击 [ 确定 ]. 5.然后就一直点击确定就可以了 . 然后我们来到D:\ 看看 6.这个时候 , 你可以把它压缩打包什么的 , 要用的时候 , 在文件后面加 .bak 后缀 就可以用SQL 来还原了,还原可以来看这里~ SQL Serv

SQL Server 2008附加数据库时出错的解决方法

马上就要开始做机房收费系统了,想要了解系统的功能就得先了解前辈的数据库.在得到原数据库charge_sys.mdf和charge_sys.ldf 后,迫不及待地想要附加到SQL Server里. 不过问题来了,在附加数据库首要数据文件charge_sys.mdf 时,出现了"附加数据库出时出错.有关详细信息,请单击"消息"列中的超链接"的错误.如下图: 点击"消息"中的超链接之后,错误提示: 网上查了一下,出现这种错误(错误5120),很可能是因

分析sql server 2008 实现数据库同步备份过程

最终,我们选择了SQL Server 2008数据库复制. 下面通过一个示例和大家一起学习一下如何部署SQL Server 2008数据库复制. 测试环境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2. 复制原理:我们采用的是基于快照的事务复制.主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志.见下图: 图片