笔记16-徐 解决resource数据库和model数据库和tempdb数据库和msdb数据库和master数据库错误问题步骤

笔记16-徐 解决resource数据库和model数据库和tempdb数据库和msdb数据库和master数据库错误问题步骤

 1 --解决resource数据库和model数据库和tempdb数据库和msdb数据库和master数据库错误问题步骤
 2 --resource数据库
 3 --1、安装好SQL和补丁之后,备份资源数据库的两个文件,把他们放到安全的地方,紧急情况下将它们拷贝回来
 4 --2、可以把别的机器的相同版本好的资源数据库拷贝过来,或者测试机里拷过来
 5 --3、重装SQL
 6 
 7 --model数据库
 8 --(1)用特殊参数启动SQL
 9 --net start MSSQLSERVER /f /m  /T3608
10 
11 --(2)恢复model数据库
12 RESTORE DATABASE model FROM DISK='C:\lab\model.bak'
13 WITH move 'modeldev' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\model.mdf',
14 MOVE 'modellog' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\modellog.ldf',REPLACE
15 
16 
17 
18 --(3)恢复成功后,用正常方式重启SQL
19 
20 
21 --tempdb数据库
22 --因为SQL根据master数据库记录的信息以model为蓝本创建的
23 --SQL读master的时候是从其他机器备份来的
24 --找不到路径
25 --net start MSSQLSERVER /f /m  /T3608
26 
27 ALTER DATABASE tempdb MODIFY FILE(NAME=tempdev,FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\tempdb.mdf')
28 GO
29 ALTER DATABASE tempdb MODIFY FILE(NAME=templog,FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\tempdb.ldf')
30 GO
31 --修改成功后,用正常方式重启SQL
32 
33 --如果磁盘空间不足,可以修改tempdb的文件大小
34 
35 --net start MSSQLSERVER /f /m  /T3608
36 
37 ALTER DATABASE tempdb MODIFY FILE(NAME=tempdev,SIZE=100MB)
38 GO
39 ALTER DATABASE tempdb MODIFY FILE(NAME=templog,SIZE=100MB)
40 GO
41 
42 --修改成功,用正常方式重启SQL
43 
44 
45 --msdb数据库
46 --还原之前要先关闭SQL Agent服务
47 
48 --因为msdb数据库默认恢复模式是简单,可以设置为完整恢复模式,然后做一个完整数据库备份
49 --损坏的时候按照还原用户数据库的步骤还原就可以了
50 
51 --msdb存储的信息:存储SSMS和SQL agent的数据包括:计划信息,备份与还原历史记录信息,在线备份与
52 --还原历史记录信息包括:备份一方的名称,备份时间,用来存储备份的设备或文件。
53 --SSMS利用这新信息提取计划以还原数据库并应用事务日志备份,记录有关所有数据库的备份事件,
54 --即使他们是由自定义应用程序或第三方工具创建的。
55 
56 --例如:SMO
57 --SQL Agent使用的所有计划信息,包括:计划的定义,执行的排程,历史日志都放在msdb
58 
59 RESTORE DATABASE msdb FROM DISK='C:\Users\Administrator\Desktop\msdb_backup_201210120900.bak' WITH replace ,RECOVERY
60 
61 
62 
63 --master数据库
64 --如果master数据库损坏,还原master数据库的最近完整数据库备份,轻松修复已经损坏的数据库
65 
66 --如果由于master数据库损坏严重到无法启动服务器实例,又没要备份,则必须重建
67 --重建master数据库将所有系统数据库恢复到其原始状态.例如,重建master数据库会
68 --删除并重新创建msdb数据库,导致丢失所有维护计划信息和备份还原历史记录。重建master后
69 --SQL就像重装过一样,所用用户记录都会丢失,用户数据库需要再次附加,SQL任务计划都需要
70 --重建。这是一个非常折腾的过程,重建master是个万不得已的选择
71 
72 --建议不要在master数据库中创建用户对象
73 
74 
75 --确认备用服务器的SQL版本和原服务器的版本一致
76 SELECT @@VERSION
77 
78 --在sqlcmd下
79 --net start MSSQLSERVER /m
80 
81 --sqlcmd /E /S joe
82 
83 RESTORE DATABASE master FROM DISK='c:\lab\master.bak'
84 
85 --sql服务会自动停止
86 --net start MSSQLSERVER /f /m /T3608
87 
88 --sqlcmd /E  /S joe

 

posted @ 2013-07-27 15:36  桦仔  阅读(1173)  评论(0编辑  收藏  举报