SQLServer2000数据库崩溃后的补救措施
SQL Server 2000数据库崩溃后的补救措施;
案例描述:
SQL Server 2000数据库崩溃后,重新加载数据库之前的准备工作:
1.完整备份三个系统库(master、msdb、model):
2.备份两个用户数据库(user01、user02)(周日完全备份+除周日外每天差异备份):
三个系统的数据库都是早期备份的,没有更新账号信息,没有增减文件?
上周日晚上完整备份了两个用户数据库(user01.bak和user02.bak)。
要求:一次性恢复到上次备份前用户数据库的状态。
下面,我们将介绍一般的恢复过程:
1.备份可用数据,包括所有系统数据库和用户数据库的数据文件和日志文件(*。中密度纤维板/低密度纤维板/中密度纤维板)
2.卸载原始安装
3.系统表查找并删除所有MSSQLServer项。
4.删除磁盘上安装SQL SErver时生成的所有文件。
5.重新安装SQL Server,要安装的补丁版本要和备份系统数据库时安装的补丁版本一致。
6.在单用户模式下还原主数据库
7.还原其他系统数据库。
8.恢复用户数据库
此外,我们还可以尝试以下方法:
如果您有足够的时间,并且希望将数据恢复到最近的时间点,您可以尝试上述步骤中的以下内容:
1.首先,将步骤6和7改为:
A.停止MSSQL服务
b、用步骤1中备份的系统数据库的数据文件和日志文件替换安装后生成的系统数据库的相应文件。
C.建立与SQL Server系统崩溃前相同的用户数据库存储目录,并将用户数据库文件存储在原来的位置。
D.启动MSSQL服务
E.如果MSSQL服务成功,在企业管理中检查用户数据库是否有疑问。如果没有疑问,其他操作不用做,数据已经恢复。
注意事项:
在进行上述步骤B的具体操作之前,对要覆盖的文件进行备份。
2.如果步骤1中的尝试不成功,请再次尝试以下操作,并将步骤8修改为以下内容:
A.停止MSSQL服务
B.用备份的文件还原被覆盖的文件
C.尝试以其他方式恢复用户数据库
d .如果成功,修复每个用户数据库中的孤立用户。
回收过程中涉及的一些特殊处理1。恢复系统数据库:
在SQL Server数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:
Master-整体控制用户数据库和SQL Server的操作,并在创建任何用户定义的对象后对其进行备份。
模型-为新数据库提供模板和原型。
Msdb-包含有关操作、警报和操作员的信息。
如果包含系统数据库的媒体已经更改,则有必要重建系统数据库。如果仍然可以启动SQL Server服务,可以通过RESTORE语句从系统数据库的备份中还原数据库。
如果master坏了,系统无法启动,可以按照以下步骤进行恢复。
(1)重建系统数据库,运行c:\mssql7\binn\rebuildm.exe,按照提示操作即可。
过程中需要的系统数据库样本的路径可以在安装光盘中找到;
(2)重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库。
就是这样。通常恢复顺序是master->msdb->model。
恢复master的备份时要注意:一定要在单用户模式下进行。
如何进入单用户模式:
A.在命令行模式下,输入:sqlservr -c -f -m或输入sqlservr-m。
其中:-c可以缩短启动时间,SQL Server不作为Windows NT的服务启动。
-f以最低配置启动SQL Server
-m以单用户模式启动SQL Server
B.可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或-m,点击启动。
(3)恢复主数据库。
A.直接进入查询分析器,有一个忽略它的提示。
输入recovery语句来恢复数据库:
从磁盘还原主文件=' c: \特定备份文件名'
B.或者使用它,在命令提示符下输入,注意大小写
要使用“windows身份验证”,请输入:isql /E e。
使用“sql server和windows身份验证”,输入:isql /U“用户名”/P“密码”
然后在出现的提示符下输入(请注意,提示符是1 >,2 >):
1 >从磁盘还原数据库主服务器=' c: \特定备份文件名'
2 >去吧
2.恢复数据库的具体步骤:
(1)恢复最后一次完整备份。
企业管理器-右键单击“数据库”-所有任务-恢复数据库。
-在“恢复到数据库库”中输入恢复的数据库的名称,并将其设置为:test。
-恢复并选择“从属设备”-选择设备-添加-添加您的备份文件。
-好,返回数据库恢复界面。
-“还原备份集”并选择“数据库-完整”
-option-将“移动到物理文件名”中的物理文件名更改为存储数据文件的文件名。
-如果要还原的数据库已经存在,请选择在现有数据库上强制还原。
-“恢复完成状态”,选择“使数据库不再运行,但可以恢复其他事务日志”
-OK-或者使用SQL语句:
还原数据库数据库名称
FROM DISK = 'c:\您的完整备份文件名'
使用NORECOVERY
(2)完整备份恢复后,最新的差异备份(如果有)
企业管理器-右键单击“数据库”-所有任务-恢复数据库。
-“恢复到数据库库”并选择数据库名称:test。
-恢复并选择“从属设备”-选择设备-添加-添加您的备份文件。
-好,返回数据库恢复界面。
-“恢复备份集”并选择“数据库-差异”
-“恢复完成状态”,选择“使数据库不再运行,但可以恢复其他事务日志”
-当然可以。
-或者使用SQL语句:
-或者使用SQL语句:
还原数据库数据库名称
FROM DISK = 'c:\您的差异备份文件名'
使用NORECOVERY
(3)按时间顺序恢复差异备份(如果没有差异备份,则恢复完整备份)后的所有日志备份。
企业管理器-右键单击“数据库”-所有任务-恢复数据库。
-“恢复到数据库库”并选择数据库名称:test。
-恢复并选择“从属设备”-选择设备-添加-添加您的备份文件。
-好,返回数据库恢复界面。
-“还原备份集”并选择“事务日志”
-“恢复完成状态”
如果是恢复最后一个日志文件,选择“让数据库继续运行,但不能恢复其他事务日志”
否则,选择“使数据库停止运行,但可以恢复其他事务日志”
-当然可以。
-或者使用SQL语句:
还原数据库数据库名称
FROM DISK = 'c:\您的日志文件名'
随着恢复
3.解决孤立用户的问题:
(1)查看数据库的独立用户:
使用库名
EXEC sp_change_users_login '报表'
(2)自动修复孤立用户:
使用库名
exec _ change _ users _ log in ' auto _ fix ','孤立用户名',NULL,'密码'
-如果密码表明用户对应的登录名不存在,系统将自动建立该登录名并为该登录名分配密码。
位律师回复
0条评论