笔记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