热门标签 | 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, '密码'

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

 

 





推荐阅读
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 程序员妻子吐槽:丈夫北漂8年终薪3万,存款情况令人意外
    一位程序员的妻子在网上分享了她丈夫在北京工作八年的经历,月薪仅3万元,存款情况却出乎意料。本文探讨了高学历人才在大城市的职场现状及生活压力。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
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社区 版权所有