热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLServer2000数据库崩溃后的补救措施

SQLServer2000数据库崩溃后的补救措施:案例描写:SQLServer2000数据库崩溃后,重装数据库前的准备:1.三个系统库(master,msdb,model)的完整备份:2.两个用户数据库(user01,user02)的备份(周

SQL Server 2000数据库崩溃后的补救措施:

案例描写:

SQL Server 2000数据库崩溃后,重装数据库前的准备:

1.三个系统库(master,msdb,model)的完整备份:

2.两个用户数据库(user01,user02)的备份(周日的完整备份 除周日外天天的差别备份):

三个系统数据库是早期备份的,之间没有更新过帐号信息,没有增减过饕档鹊取?

两个用户数据库在上周日晚做过完整备份(user01.bak和user02.bak)

需求:一次性恢复到用户数据库最后一个备份前的状态。

下文中,我们将先容一下惯例的恢复过程:

1. 备份可用的数据, 包含所有系统数据库和用户数据库的数据文件和日志文件(*.mdf/ldf/ndf)

2. 卸载本来的安装

3. 系统表查找和删除所有的MSSQLServer项

4. 磁盘上删除安装SQL SErver产生的所有文件

5. 重新安装SQL Server,所需安装的补丁的版本请求保持与备份系统数据库时安装的补丁版本一致

6. 单用户模式下恢复master数据库

7. 恢复其他系统数据库

8. 恢复用户数据库

此外,我们还可以尝试用下面的方法:

假如你的时间比拟充裕,而且想尽量恢复数据到最近的时间点, 可以在上述步骤中做以下的尝试:

1. 首先,将第6,7两个步骤改为:

a. 结束MSSQL服务

b. 用步骤1备份的系统数据库的数据文件和日志文件调换安装后天生的系统数据库的对应文件

c. 建立与SQL Server系统崩溃之前一样的用户数据库的存放目录, 并且把用户数据库文件按本来的地位存放

d. 启动MSSQL服务

1. 恢复系统数据库:

在SQL Server数据库中,系统信息存储在系统数据库中,重要的系统数据库包含:

master-从整体上把持用户数据库和SQL Server把持,在创立了任何用户定义的对象后,都要备份它

model-为新数据库供给模版和原型

msdb-包含了有关作业、报警及把持员等信息

假如包含系统数据库的介质已经转变,则必需重建系统数据库,假如你目前仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。

假如master坏了,不能启动系统,可以按照下面步骤进行恢复

(1)重建系统数据库 运行c:\mssql7\binn\rebuildm.exe,按照提示进行即可,

过程中需要系统数据库样本的路径,可在安装光盘中找到;

(2)重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库

就行了通常恢复次序为master->msdb->model

在恢复master的备份时要留心:必需在单用户(single user)模式下进行

进进单用户模式的方法:

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)进行master数据库的恢复

a. 直接进进查询分析器,有个提示不要理会它

输进恢复语句进行数据库恢复:

RESTORE DATABASE master from disk='c:\具体的备份文件名'

b. 或者用这个,在命令提示符下输进,留心大小写

应用"windows身份验证"的,输进:isql /E

应用"sql server和windows身份验证"的,输进:isql /U"用户名" /P"密码"

然后在呈现的提示符下输进(留心1>,2>是提示符):

1>RESTORE DATABASE master from disk='c:\具体的备份文件名'

2>GO

2. 还原数据库的具体步骤:

(1) 恢复最近一次的完整备份

企业治理器--右键"数据库"--所有任务--还原数据库

--"还原为数据库库"中输进还原后的数据库名,设为:test

--还原选择"从设备"--选择设备--添加--添加你的备份文件

--断定,回到数据库还原的界面

--"还原备份集",选择"数据库--完整"

--选项--将"移至物理文件名"中的物理文件名修正为你的数据文件要存放的文件名

--假如要还原的数据库已经存在,选择"在现有数据库上强迫还原"

--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"

--断定

e. 假如MSSQL服务成功, 在企业治理看看用户数据库有没有置疑, 假如没有置疑, 则其他把持都不用做了, 数据已经恢复

留心事项:

在具体把持以上的步骤b之前, 先备份准备笼罩的文件。

2. 假如步骤1的尝试不成功, 则再做下面的尝试, 把步骤8修正为下面的:

a. 结束MSSQL服务

b. 用备份的文件还原被笼罩的文件

c. 尝试用附加的方法恢复用户数据库

d. 假如成功, 则修复各用户数据库中的孤立用户

恢复过程会涉及到的一些具体处理

--或用SQL语句:

RESTORE DATABASE 数据库名

FROM DISK = 'c:\你的完整备份文件名'

WITH NORECOVERY

(2)恢复完整备份后, 最近一次的差别备份(假如有的话)

企业治理器--右键"数据库"--所有任务--还原数据库

--"还原为数据库库"中选择数据库名:test

--还原选择"从设备"--选择设备--添加--添加你的备份文件

--断定,回到数据库还原的界面

--"还原备份集",选择"数据库--差别"

--"恢复完成状态",选择"使数据库不再运行,但能还原其它事务日志"

--断定

--或用SQL语句:

--或用SQL语句:

RESTORE DATABASE 数据库名

FROM DISK = 'c:\你的差别备份文件名'

WITH NORECOVERY

(3)按时间先后, 恢复差别备份后(假如没有差别备份,则是完整备份)的所有日志备份

企业治理器--右键"数据库"--所有任务--还原数据库

--"还原为数据库库"中选择数据库名:test

--还原选择"从设备"--选择设备--添加--添加你的备份文件

--断定,回到数据库还原的界面

--"还原备份集",选择"事务日志"

--"恢复完成状态"

假如是恢复最后一个日志文件,选择"使数据库可以持续运行,但无法还原其它事务日志"

否则选择"使数据库不再运行,但能还原其它事务日志"

--断定

--或者应用SQL语句:

RESTORE DATABASE 数据库名

FROM DISK = 'c:\你的日志文件名'

WITH RECOVERY

3. 解决孤立用户:

(1) 查看某个数据库的孤立用户:

USE 库名

EXEC sp_change_users_login 'Report'

(2)主动修复某个孤立的用户:

USE 库名

EXEC sp_change_users_login 'Auto_Fix', '孤立用户名', NULL, '密码'

--假如密码唆应用户对应的登录不存在时, 系统主动建立登录, 为登录分配密码。

 

 





推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 本文作为《WM平台上使用Sybase Anywhere 11》系列的第二篇,将继续探讨在Windows Mobile (WM) 系统中如何高效地操作Sybase Anywhere 11数据库。继上一篇关于安装与基本测试的文章之后,本篇将深入讲解数据库的具体操作方法。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 探讨在使用 PL/SQL Developer 12.0 的数据生成器时遇到的中文乱码问题及其解决方案。 ... [详细]
  • 本文探讨了如何将个人经历,特别是非传统的职业路径,转化为职业生涯中的优势。通过作者的亲身经历,展示了舞蹈生涯对商业思维的影响。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
author-avatar
手机用户2502887763
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有