左岸印象

MSSQL 18052错误: 9003,严重度: 20,状态: 1

分类: 服务器类 作者: 阅读: 13,080        5条评论

问题现象:
系统日志文件(控制面板–管理工具–系统日志)
能找到以下两条错误:
17052:
无法恢复 master 数据库。正在退出。
18052:
错误: 9003,严重度: 20,状态: 1。

解决方法:

将Microsoft SQL Server\MSSQL\Data 目录改名为data_bak目录,然后从其他机器上把master.mdf,master.ldf,model.mdf,modellog.ldf拷过来随便放到哪(或者直接把data目录拷过来也行),不能放到Microsoft SQL Server\MSSQL\Data这个目录。

接着在服务器上打开C:\Program Files\Microsoft SQL Server\80\Tools\Binn文件夹,找到rebuildm.exe文件并运行,重新初始化master表,选择文件,按旁边的浏览,指向刚刚从旁边电脑上拷过来的那个文件夹,点确定开始重新初始化,提示成功(有时可能也提示失败,但不要紧,因为是从另外的电脑拷过来的,数据库文件链接不一样),点确定后就可以启动SQL服务了,有时启动不了的话要机器重启一下就可以了,这时把之前的数据库再附加上去就行了,把显示质疑的都删掉。

SQL还原master数据库应注意的问题:

1.还原master数据库,要注意数据库的版本相同(包括补丁的版本),否则会提示错误,不能进行还原

2.执行第一步成功,但是打开数据库时出现错误,这种情况可能有很多情况,解决办法:

1)将master数据库还原为其他名的数据库,然后查看其中的表内容。如果成功,说明数据库没有问题。

RESTORE DATABASE MasterBak
FROM DISK='C:\TMP\Master.BAK'  WITH FILE=1,
MOVE 'master' TO 'c:\MasterBak.mdf',
MOVE 'mastlog' TO 'c:\MasterBak.ldf',
REPLACE
GO

2)在命令方式下,输入sqlserver -c -m (检查SQL启动状况)

如果启动信息中提示某个系统数据库(如:model msdb Northwind pubs tempdb)路径不正确,原因是还原的master数据库中的系统数据库路径与原系统数据库路径不符。

解决办法:

可以通过修改master数据库中修改sysdatabases 和 sysdevices 表各系统数据库的目录为新服务器的目录,执行语句如下:

EXEC sp_configure 'allow updates',1     --更改当前服务器的全局配置设置
 
ECONFIGURE WITH OVERRIDE          --强制重新配置
GO
 
UPDATE a.dbo.sysdatabases SET 
 filename='d:\Program Files\Microsoft SQL Server\MSSQL\data\model.mdf'
WHERE NAME='model'
 
UPDATE a.dbo.sysdevices SET 
 phyname='d:\Program Files\Microsoft SQL Server\MSSQL\data\modellog.ldf'
WHERE NAME='modellog'
GO
 
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
GO

注:此处假设原数据库存放路径’d:\Program Files\Microsoft SQL Server\MSSQL\data

3)修改后将此数据库备份,并还原到master数据库,重新启动SQL


标签: , , , , , , ,

转载注明: 转自左岸印象

本站遵循: 署名-非商业性使用-禁止演绎 3.0 共享协议

文章分享: Digg / Twitter / Facebook / GReader / 鲜果 / 豆瓣 / 人人网 / 开心网 / 新浪微博


5条评论


  1. bronze casting 说道:

    这种情况还没碰到过

    [回复]

    晴空落叶 回复:

    我也是刚好碰上。网上找的解决方法,放上去备忘

    [回复]

  2. 韩都衣舍 说道:

    博客你的风格很不错,在哪有下载吗?

    [回复]

    晴空落叶 回复:

    http://mrchou.com/
    作者的地址。我是拿来自己修改了部分内容

    [回复]

  3. [...] 原文地址:http://lbicc.com/2010/12/14/1522.html 有点技术 18052错误, MSSQL, 数据库 [...]


发表评论




XHTML: 您可以使用如下代码:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">