SQL 2008 系统数据库 master中的部分表被我手动删除了 求恢复master

SQL 2008 系统数据库 master中的部分表被我手动删除了,当时是没意识的,删完后,就关掉了,因为我的服务是手动打开的,后来,服务就打不开了。求恢复master数据库

遇到损坏或者错误的master数据库是最难解决情况之一。Master数据库包含了SQL Server需要的关键信息。如果master数据库出错,那么SQL Server就不能启动。要在这种情况下还原master数据库,可以按照下面这些步骤来从灾难中恢复过来:
1. 使用\PRogram Files\Microsoft SQL Server\80\Tools\Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使你的数据库文件完整无缺。为以防万一,经常把数据和日志文件备份到一个单独的目录是个不错的主意。
2. 使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server。
3. 从最近一次已知最好的备份来还原master数据库。
4. 核实master数据库是不是已经成功还原:确认所有数据库都已恢复正常运行。从最近一次已知最好的备份来还原msdb数据库。
5. 以普通模式停止和启动SQL Server。
6. 向生产用户开放数据库。
如果这样做没有效,那么重建master数据库然后附加这个数据库。这也是DBA的任务之一,当然你并不希望经常这样做。如果master数据库出现问题,那么服务器上所有的数据库都会出现问题。
总的来说,恢复时要完成的第一个步骤就是安装一个新的master数据库,使服务器至少能够启动。在此基础上,就可以还原真正的master数据库了。双击了rebuildm.exe之后,将启动rebuild master实用程序,它需要三个参数:
① 要恢复的服务器名称。
② Master数据库在原来的安装程序中的位置,如果SQL Server的版本为SP2,这个位置应当是安装CD的x86\data目录(在更早的版本中,由于存在程序错误,有可能需要将这个data目录拷贝到硬盘驱动器或者网络驱动器上)。
③ 服务器的排序规则。
这个重建过程将会重新创建全部四个系统数据库以及Northwind和Pubs,接着对服务器进行配置。整个重建过程大约需要数分钟,如果以前使用service pack对服务器进行了升级,将有可能花费更长时间。
恢复过程的第二个步骤是使用服务器管理或者企业管理器来启动服务器。
依赖于你的安全性配置,企业管理器很有可能没有连接到服务器的权限。重建master数据库将会丢掉除了sa以外的所有用户登录,并把sa的空口令重置为空。如果要调整企业管理器的连接配置,以便作为sa以空口令连接到服务器,可以编辑SQL Server的注册属性。不要担心sa的空口令,因为我们很快就会恢复真正的master数据库。
一旦服务器再次运行,你就会发现所有的用户数据库都不见了,因为重建的master数据库没有包含有关这些用户数据库的信息。
恢复过程的第三个步骤就是将服务器置于单用户模式,以便还原master数据库。在企业管理器中,要完成以下步骤:
① 选择服务器。
② 使用右键单击它,并从弹出的快捷方式菜单中选择“属性”菜单项,打开“服务器属性”对话框。
③ 单击“启动参数”按钮。
④ 在“参数”文本框中输入-m,然后按下“添加”按钮。
⑤ 按下“确定”按钮关闭“启动参数”对话框,然后关闭“服务器属性”对话框。
⑥ 关闭企业管理器。
警告:在SQL Server实例处于单用户模式时,不要使用企业管理器。这样做有可能会锁定该实例,使它进入不能接受其他连接的状态。
⑦ 使用SQL Server服务器管理器停止并重新启动SQL Server实例。
恢复损坏的master数据库的第四个步骤才是进行真正的还原。因为SQL Server现在处于单用户模式,所以必须使用查询分析器来完成这一步骤。如果试图在企业管理器中还原master数据库,将会产生严重的问题。在查询分析器中进行还原时,需要执行下面的命令:
RESTORE DATABASE master
FROM
DISK=’systembackup’
WITH FILE=1
执行结果如下:
The master database has been successfully restored.
Shutting down SQL Server.
SQL Server is terminating this process.
关闭查询分析器,并使用SQL Server的服务管理器重新启动SQL Server实例。
还原master数据库的最后一步是把在第三个步骤加入的-m启动参数去掉,将SQL Server实例重新置于多用户状态。要修改这个启动参数,可以使用企业管理器的“服务器属性”对话框。
关闭企业管理器,使用SQL Server的服务管理器停止并重新启动SQL Server实例。追问

一看就知道,你这是网上搜的,然后粘贴的。我不要看这些。要是可以,就不会贴出来了。

一看就知道,你这是网上搜的,然后粘贴的。我不要看这些。要是可以,就不会贴出来了。

追答

楼主不要抱这样的思想 我们工作中很多问题都是这样解决了 能解决你的问题 为什么不试试
我是在网上帮你找你的 但我进过自己的过滤 觉得最合适的给你 你可以不看
但我是 真的想帮你解决问题

追问

首先,第一条里的目录下的文件,没有,第二,我的服务是手动打开的,既然打不开,又怎么进入SQL执行那些SQL操作呢?

追答

你启动服务 报什么错误 今天非要给你解决

在附件里面找到命令提示符 右击以管理员身份运行 cmd 执行 net start sql服务 看行不行
楼主 用下面的方法试试:不好意思 还是复制 我今天就向你证明 这样是可以解决问题的
1、复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates

X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
注:以上“X:\Program Files\Microsoft SQL Server”为SQL Server的安装目录。以下的“C:\Program Files\Microsoft SQL Server”为系统盘下的目录

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-05
没有备份的话 只能重装了,从别处弄来的 可能会有这样那样的问题,毕竟所有的关于本机的配置都是存放在 master数据库里面的,平时要养成备份的习惯

参考 :
http://blog.csdn.net/ldslove/article/details/6199265追问

我 不想听到这样的答案啊。。5555555555555

追答

。。。用安装文件修复安装呗

追问

试过了,不行。

追答

那就重装或者再装一个实例,好在2008还比较好装吧!没2005那么坑

追问

亲,你不知道数据库是卸不干净的么?

追答

360强力卸载吧

第2个回答  2013-07-05
你是咋删的呢。。特意进入DAC操作吗
确实没有备份文件的话只能通过安装文件进行重建
要重新生成 master 数据库请使用 setup.exe ,在cmd中执行
Start /wait up.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start /wait e:\up.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@ 注:INSTANCENAME:指定例子名默认例子则用mssqlserver表示 REINSTALL:指定引擎 SAPWD:强密码 Setup.exe:指定光盘1中根目录下文件 /qn 开关用于取消所有安装对话框和消息如果指定 /qn 开关则所有安装消息(包括消息)都将写入安装日志文件 有关日志文件详细信息请参阅如何查看 SQL Server 安装日志文件 指定 /qb 开关将显示基本安装对话框还会显示消息追问

看不懂。start /wait e:\up.exe /qn
这个是安装路径么,怎么会有up.exe这样的文件?

追答

少贴了,是setup.exe,复制了,照着参数说明改改参数,路径
这个我测试过,ok的

追问

REINSTALL=SQL_Engine REBUILDDATABASE=1
这句没看懂。

追答

你说的没用是出现什么状况呢?还有个问题,感觉根据你的描述,你应该是其他原因造成的
因为自2005以来,master的系统库中已经看不到系统表了,有的只是封装映射的系统视图
而系统视图是不允许用修改操作的,有些只能通过系统存储过程来操作修改
如果真要手动删除数据,需要进入我最开始提到的DAC管理员专用链接模式才可以
你再描述一下的无法启动服务的状况,以及错误提示、错误号

SQL 2008 系统数据库 master中的部分表被我手动删除了 求恢复master
1. 使用\\PRogram Files\\Microsoft SQL Server\\80\\Tools\\Binn目录下的rebuidm.exe文件重建master数据库。重建master数据库可以使你的数据库文件完整无缺。为以防万一,经常把数据和日志文件备份到一个单独的目录是个不错的主意。2. 使用-m参数启动SQL Server,这样可以以单用户模式重新启动SQL Server。3....

sql server 2008删除目录后怎么恢复
1、重新生成 master 数据库: 注意: 在 SQL Server 2005 中已废止 Rebuildm.exe 程序。若要重新生成 master 数据库,请使用 setup.exe。 1、 Start \/wait setup.exe \/qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start \/wait e:“setup.exe \/qn INSTANCENAME=mssqlserver REINSTALL=SQL...

...2008 安装程序 --- 出现以下错误: master 数据库
检查C盘中演示安装的文件,姜堰市安装的文件删除,从控制面板里卸载后再重新安装。

SQL 2008 可疑状态,数据库好像损坏了
go --重建数据库日志文件(执行这一步之前需先删除该文件夹下的相应日志,如本例所示应先删除Example_log.ldf。)alter database example Rebuild Log on (name=Example_log,filename='C:\\Program Files\\Microsoft SQL Server\\MSSQL10.SQL2008\\MSSQL\\DATA\\Example_log.ldf')go --最后设置数据库为...

如何恢复master数据库
1.重建系统数据库 运行c:\/mssql7\/binn\/rebuildm.exe,按照提示进行即可,过程中需要系统数据库样本的路径,可在安装光盘中找到;2 重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库 就行了通常恢复顺序为master->msdb->model 在恢复master的备份时要注意:必须在单用户(single user...

master数据库备份了,如何还原
REG_SZ : -lC:\\MSSQL7\\DATA\\MASTLOG.DATSQLArg3REG_SZ : -m 在命令行下输入SQLServr -c -s 转:在SQL Server2000 中恢复Master 数据库 方法1:重装SQL,但是数据就Over 掉了 方法2:重建Master Rebuildm.exe 用到SQL 的安装文件,从安装目录X86\\Data 中 拷取原...

如何恢复宝塔面板mysql数据库中误删除的数据表
1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit操作的话,可以执行rollback进行回滚恢复。如果是ddl操作,如drop、create、alter之类的操作时无效的 2 在进行删除操作之前有备份,比如mysqldump,物理备份数据文件之类的操作,那么可以恢复到删除前的数据 3 如果...

如何重新生成master 数据库
1. 曾备份过Master数据库 2. 混合模式下 3. 启用了sa账户 4. sql server 2005 安装盘 Master数据库文件损坏,不能启动实例 (实验模拟可改其数据库名字(必需停止服务)达到损坏它的目的。例如:master1.mdf):接下来我们开始重建恢复的步骤:1. 先输入命令行重建Master数据库 2. 在cmd命令提示符...

删除sqlserver系统数据库master里的表后,源文件怎么删除不了,显示正在...
你是咋删的呢。。特意进入DAC操作吗 确实没有备份文件的话只能通过安装文件进行重建 要重新生成 master 数据库请使用 setup.exe ,在cmd中执行 Start \/wait up.exe \/qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD= 例:start \/wait e:\\up.exe \/qn INSTANCENAME=mssqlserver ...

SQL server2008创建数据库失败。数据库'master'中拒绝了CREATE DATAB...
SQL server2008创建数据库失败。数据库'master'中拒绝了CREATE DATABASE 权限是设置错误造成的,解决方法为:1、打开Database Master,点击【database explorer】下的【connect】。2、此时弹出对话框,选择要操作的数据库连接,然后点击【connect...】。3、此时打开数据库连接,并打开默认的数据库。4、点击...

相似回答