mssql数据库系统崩溃的一般处理步骤与方法
创始人
2024-12-22 06:42:27
0次
mssql数据库系统崩溃后的一般处理步骤 情况描述: SQLServer2000崩溃,重新安装数据库。 有以下准备: 1,三个系统库(master,msdb,model)的完全备份: 2两个用户数据库(user01,user02)的备份(周日的完全备份+除周日外每天的差异备份): 三个系统数据库是早期备份的,之间没有更新过帐号信息,没有增减过作业等等。 两个用户数据库在上周日晚做过完全备份(user01.bak和user02.bak) 准备重新安装数据库,希望能一次性恢复到用户数据库最后一个备份前的状态。 常规恢复过程大致如下 1.备份可用的数据,包含所有系统数据库和用户数据库的数据文件和日志文件(*.mdf/ldf/ndf) 2.卸载原来的安装 3.系统表查找和删除所有的MSSQLServer项 4.磁盘上删除安装SQLSErver产生的所有文件 5.重新安装SQLServer,所需安装的补丁的版本要求保持与备份系统数据库时安装的补丁版本一致 6.单用户模式下恢复master数据库 7.恢复其他系统数据库 8.恢复用户数据库 可以做的尝试 如果时间比较充分,而且想尽量恢复数据到最近的时间点,可以在上述步骤中做下面的尝试 1.把6,7两步改为: a.停止MSSQL服务 b.用步骤1备份的系统数据库的数据文件和日志文件替换安装后生成的系统数据库的对应文件 c.建立与SQLServer系统崩溃之前一样的用户数据库的存放目录,并且把用户数据库文件按原来的位置存放 d.启动MSSQL服务 e.如果MSSQL服务成功,在企业管理看看用户数据库有没有置疑,如果没有置疑,则其他操作都不用做了,数据已经恢复 注意: 在做上面的步骤b之前,先备份准备覆盖的文件 2.如果步骤1的尝试不成功,则再做下面的尝试,把步骤8修改为下面的: a.停止MSSQL服务 b.用备份的文件还原被覆盖的文件 c.尝试用附加的方式恢复用户数据库 d.如果成功,则修复各用户数据库中的孤立用户 恢复过程会涉及到的一些具体处理 1.恢复系统数据库: 在SQLServer数据库中,系统信息存储在系统数据库中,主要的系统数据库包括: master-从整体上控制用户数据库和SQLServer操作,在创建了任何用户定义的对象后,都要备份它 model-为新数据库提供模版和原型 msdb-包含了有关作业、报警及操作员等信息 如果包含系统数据库的介质变了,那么必须重建系统数据库,如果你仍然可以启动SQLServer服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。 如果master坏了,不能启动系统,可以按照下面步骤进行恢复 1.重建系统数据库运行c:\mssql7\binn\rebuildm.exe,按照提示进行即可, 过程中需要系统数据库样本的路径,可在安装光盘中找到; 2重建系统数据库后,启动SQLServer服务,用系统数据库的备份恢复数据库 就行了通常恢复顺序为master->msdb->model 在恢复master的备份时要注意:必须在单用户(singleuser)模式下进行 进入单用户模式的方法: a.在命令行模式下输入:sqlservr-c-f-m或者输入sqlservr-m 其中:-c可以缩短启动时间,SQLServer不作为WindowsNT的服务启动 -f用最小配置启动SQLServer -m单用户模式启动SQLServer b.可以在控制面板-服务-MSSQLServer的启动参数中输入-c-f-m或者输入-m,点击开始 3.进行master数据库的恢复 a.直接进入查询分析器,有个提示不要理会它 输入恢复语句进行数据库恢复: RESTOREDATABASEmasterfromdisk='c:\具体的备份文件名' b.或者用这个,在命令提示符下输入,注意大小写 使用"windows身份验证"的,输入:isql/E 使用"sqlserver和windows身份验证"的,输入:isql/U"用户名"/P"密码" 然后在出现的提示符下输入(注意1>,2>是提示符): 1>RESTOREDATABASEmasterfromdisk='c:\具体的备份文件名' 2>GO 2.还原数据库的具体步骤: 1.恢复最近一次的完整备份 企业管理器--右键"数据库"--所有任务--还原数据库 --"还原为数据库库"中输入还原后的数据库名,设为:test --还原选择"从设备"--选择设备--添加--添加你的备份文件 --确定,回到数据库还原的界面 --"还原备份集",选择"数据库--完全" --选项--将"移至物理文件名"中的物理文件名修改为你的数据文件要存放的文件名 --如果要还原的数据库已经存在,选择"在现有数据库上强制还原" --"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志" --确定 --或用SQL语句: RESTOREDATABASE数据库名 FROMDISK='c:\你的完全备份文件名' WITHNORECOVERY 2.恢复完全备份后,最近一次的差异备份(如果有的话) 企业管理器--右键"数据库"--所有任务--还原数据库 --"还原为数据库库"中选择数据库名:test --还原选择"从设备"--选择设备--添加--添加你的备份文件 --确定,回到数据库还原的界面 --"还原备份集",选择"数据库--差异" --"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志" --确定 --或用SQL语句: --或用SQL语句: RESTOREDATABASE数据库名 FROMDISK='c:\你的差异备份文件名' WITHNORECOVERY 3.按时间先后,恢复差异备份后(如果没有差异备份,则是完全备份)的所有日志备份 企业管理器--右键"数据库"--所有任务--还原数据库 --"还原为数据库库"中选择数据库名:test --还原选择"从设备"--选择设备--添加--添加你的备份文件 --确定,回到数据库还原的界面 --"还原备份集",选择"事务日志" --"恢复完成状态" 如果是恢复最后一个日志文件,选择"使数据库可以继续运行,但无法还原其它事务日志" 否则选择"使数据库不再运行,但能还原其它事务日志" --确定 --或用SQL语句: RESTOREDATABASE数据库名 FROMDISK='c:\你的日志文件名' WITHRECOVERY 3.解决孤立用户: 1.查看某个数据库的孤立用户: USE库名 EXECsp_change_users_login'Report' 2.自动修复某个孤立用户: USE库名 EXECsp_change_users_login'Auto_Fix','孤立用户名',NULL,'密码' --密码指用户对应的登录不存在时,系统自动建立登录,为登录分配的密码

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...