SQLSERVER镜像主服务器宕机或主实例崩溃恢复
SQLServer崩溃如何修复主数据库
SQL Server崩溃如何修复主数据库如果主数据库发生故障,那么微软的SQL Server可能会怦然倒下。
看看如何面对这种事件,了解如何用企业管理器和查询分析器修复主数据库。
作为一名微软SQL Server的管理员,您必须知道如何修复一个崩溃的主数据库。
主数据库保存有您的登录信息,以及最重要的、指向您所有数据库的指针。
如果没有主数据库,您就无法成功地启动SQL Server。
在本文里,我将向您介绍在发生崩溃的情况下如何修复主数据库,并告诉您如何重建主数据库,如果有必要的话。
制定预案制定一个应对崩溃和/或主数据库故障的预案十分重要。
这将有助于您在碰到灾难的情况下按照既定的方法进行处理,而不是迫于压力仓促作出反应。
我碰到过很多很容易就陷入惊慌的状况,但是由于保持冷静并按照正确的方法来处理问题,我最后成功地度过了所有的困境。
如何判断主数据库已经崩溃在正式开始讨论碰到系统故障如何修复和重建的主数据库之前,我们需要先了解如何辨别它已经崩溃了。
要说明这一点,我会弄垮一个主数据库,告诉您主数据库崩溃会发生什么样的症状。
现在让我们假设您的公司碰到了电涌,造成SQL Server重启。
在重新启动的时候,SQL Server却没有正常启动。
如果查看错误日志(图A),您会看到主数据库崩溃或者丢失。
既然您知道需要查看什么信息,那就让我们看看如何修复主数据库。
图A修复您的主数据库修复主数据库的第一步是使用“重建向导(Rebuild Wizard,Rebuildm.exe),它放在\Program Files\Microsoft SQL Server\80\Tools\BINN目录下。
现在就让我们来看看重建向导是如何工作的。
双击Rebuildm.exe启动图B所示的对话框:图B。
sqlserver数据库还原操作
sqlserver数据库还原操作数据库还原是指将备份的数据库恢复到原始状态的过程。
在数据库管理中,备份和还原是非常重要的操作,可以帮助我们保护和恢复数据,应对各种数据丢失的情况。
在SQL Server中进行数据库还原操作有多种方式,其中一种常用的方式是使用SSMS。
SSMS是SQL Server官方提供的图形化管理工具,可以方便地进行数据库管理操作。
打开SSMS并连接到要进行还原操作的SQL Server实例。
在“对象资源管理器”窗口中,展开“数据库”节点,找到要还原的数据库。
接下来,右键点击要还原的数据库,选择“任务”->“还原”->“数据库”。
在“还原数据库”窗口中,我们可以选择要还原的备份集。
在“源”一栏中,选择“从设备”选项。
然后,点击“浏览”按钮,在弹出的窗口中找到要还原的备份文件。
在选择备份文件后,点击“确定”按钮,系统会自动将备份文件路径填写到“还原计划”一栏中。
在“选项”一栏中,我们可以设置还原的一些选项。
例如,我们可以选择是否还原数据库的事务日志,是否覆盖现有的数据库等。
在完成设置后,点击“确定”按钮,系统会开始执行还原操作。
在还原过程中,我们可以在“查询”窗口中看到相应的T-SQL语句,这些语句是SSMS自动生成的,用于执行还原操作。
还原操作完成后,我们可以在“对象资源管理器”窗口中看到已经还原成功的数据库。
此时,我们可以对数据库进行进一步的操作,例如查询数据、修改表结构等。
需要注意的是,数据库还原操作是一个非常重要的操作,可能会对现有的数据库产生影响。
因此,在进行还原操作之前,我们应该先备份当前的数据库,以便在需要时可以恢复到原始状态。
还原操作的速度也会受到多种因素的影响,例如备份文件的大小、数据库的大小、服务器的性能等。
因此,在进行还原操作时,我们应该合理安排时间,并确保系统资源充足。
通过使用SSMS进行数据库还原操作是一种方便、快捷的方式。
通过按照上述步骤进行操作,我们可以轻松地将备份的数据库还原到原始状态,保护和恢复数据。
解决SQLSERVER服务不能正常启动
解决SQLSERVER服务不能正常启动SQL Server服务无法正常启动的原因有很多,可能是由于数据库损坏、服务未正确安装、服务配置问题、端口冲突等等。
下面是一些可能的解决方案:1. 检查数据库文件是否损坏:若数据库文件损坏,也可能导致SQL Server服务无法正常启动。
可以尝试通过运行SQL Server Repair工具修复数据库文件。
2. 确保SQL Server服务已正确安装:确认SQL Server服务是否已正确安装。
可以尝试重新安装SQL Server服务,确保使用正确的版本和正确的安装步骤。
3. 确保SQL Server服务配置正确:检查SQL Server服务的配置文件,确保各项参数设置正确,例如数据库文件路径、日志文件路径、端口号等。
4. 检查服务是否已启动:通过控制面板中的“服务”功能,查看SQL Server服务是否已启动。
如果未启动,可以尝试手动启动服务。
5. 检查端口是否被其他程序占用:可能是由于SQL Server服务所需的端口被其他程序占用而无法启动。
可以使用netstat命令或者网络工具检查端口占用情况,并确保SQL Server所需端口未被其他程序使用。
6. 检查防火墙设置:防火墙设置可能会阻止SQL Server服务的正常启动。
可以尝试临时关闭防火墙,然后再次尝试启动SQL Server服务。
7. 检查服务权限设置:确保SQL Server服务的运行账户具有足够的权限。
可以尝试修改服务的运行账户,并为其分配必要的权限。
8. 检查事件日志:查看Windows事件日志,可能会提供有关SQL Server服务启动失败的更多信息。
根据事件日志中的提示,尝试解决问题。
9. 使用SQL Server配置管理器:使用SQL Server配置管理器检查SQL Server实例的配置,包括网络配置、登录配置等。
确保配置正确,并尝试重新启动服务。
10. 尝试使用修复工具:根据具体情况,在Microsoft官方网站上可以找到一些专门用于修复SQL Server服务启动问题的工具,可以尝试使用这些工具进行修复。
配置SQLServer数据库恢复模式(2种方法)
配置SQLServer数据库恢复模式(2种⽅法)下⾯主要介绍配置SQL Server数据库恢复模式的两种⽅法。
⽤T-SQL设置恢复模式你可以使⽤“ALTER DATABASE”命令加“SET RECOVERY”语句来修改数据库的恢复模式。
例如,下⾯的查询语句把“AdventureWorks”数据库的恢复模式设置为完全恢复模式。
ALTER DATABASE AdventureWorks SET RECOVERY FULL ;你可以查询“sys.databases”的⽬录视图,验证数据库的恢复模式状态。
语句如下:SELECT name, recovery_model, recovery_model_desc FROM sys.databases WHERE name = 'AdventureWorks' ;你可以使⽤如下语句把数据库设置为⼤批量操作模式或者简单恢复模式,只需要在“”位置替换为你⾃⼰数据库的名称就可以了。
--Changing recovery model to Bulk-loggedALTER DATABASE AdventureWorks SET RECOVERY BULK_LOGGED ;--Changing recovery model to SimpleALTER DATABASE AdventureWorks SET RECOVERY SIMPLE ;在创建新数据库时,它会从模型数据库中继承恢复模式,默认是完全恢复模式。
要修改默认恢复模式,你可以使⽤“ALTER DATABASE”语句修改模型数据库的恢复模式。
请注意,如果打算维护⼀致的事务⽇志备份,就不能切换到简单恢复模式,也不能从简单恢复模式改为其它。
使⽤SQL Server管理⼯具(SSMS)修改恢复模式你可以在SQL Server管理⼯具中修改数据库的恢复模式。
在对象浏览器中,右键单击你的数据库(在数据库节点下),然后点击属性。
sql server恢复方法
sql server恢复方法SQL Server是一种关系型数据库管理系统(RDBMS),用于存储和管理数据库。
在日常操作中,可能会遇到各种数据丢失或损坏的情况,因此需要进行恢复操作来恢复数据库的完整性和可用性。
下面将介绍SQL Server常见的恢复方法。
一、完整备份恢复完整备份是指备份整个数据库的过程,包括数据、存储过程、触发器、索引等。
如果数据库损坏或丢失,可以通过完整备份来恢复数据库。
1.创建完整备份:使用SQL Server Management Studio(SSMS)或T-SQL命令创建完整备份。
例如,使用SSMS,右键点击数据库->任务->备份,在“选择备份类型”中选择“完整”,并设置备份路径、名称等参数,然后点击“确定”开始备份。
2.恢复完整备份:使用SSMS或T-SQL命令进行恢复。
例如,使用SSMS,右键点击数据库->任务->还原->数据库,在“设备”中选择备份文件,设置恢复操作的目的数据库名称等参数,然后点击“确定”开始恢复。
二、差异备份恢复差异备份是指备份数据库中自上次完整备份以来的更改。
使用差异备份可以减少备份时间和存储空间。
如果数据库部分数据丢失或损坏,可以先恢复完整备份,然后再将差异备份应用到数据库中,以恢复数据到更精确的时间点。
1.创建差异备份:在完整备份后,可以使用SSMS或T-SQL命令创建差异备份。
例如,使用SSMS,在“选择备份类型”中选择“差异”,设置备份路径、名称等参数,然后点击“确定”开始备份。
2.恢复差异备份:使用SSMS或T-SQL命令进行恢复。
例如,使用SSMS,右键点击数据库->任务->还原->数据库,在“设备”中选择差异备份文件,设置恢复操作的目的数据库名称等参数,然后点击“确定”开始恢复。
三、事务日志备份恢复事务日志是用于记录数据库操作的日志文件,包括对数据库的修改、事务的提交和撤销等。
事务日志备份可以实时记录数据库操作,以便在数据库发生故障时进行恢复。
sqlserver还原数据库步骤
sqlserver还原数据库步骤
SQL Server数据库的还原是一个很重要的任务,正确的还原步骤
可以帮助我们更好地恢复数据库,以便将系统恢复到在备份时的状态。
下面将详细介绍SQL Server数据库还原的步骤。
1、准备和检查:首先要准备好要还原的备份文件,并且确保文件
完整无损。
2、打开SQL Server Management Studio:右键单击“数据库”节点,然后在上下文菜单中点击“任务”,再点击“还原”。
3、选择备份文件:在“备份项目”选项卡中点击“添加”按钮,
从文件系统中选择要还原的备份文件,然后点击“确定”。
4、还原备份类型:然后选择备份类型,根据具体情况,可以选择“完整”或“日志”还原,点击“确定”。
5、还原设置:点击“还原设置”选项卡,可以设置备份文件的还
原模式。
默认情况下,将使用“实际数据库”选项,里面包含了一个
更新和现有数据库名称,如果你不想使用当前的数据库,可以更改数
据库名称和数据库文件路径。
6、执行还原:点击“完成”按钮开始执行还原操作,在还原状态
对话框中可以看到还原的进度。
7、完成:当我们看到“完成”消息后,数据库就已经成功还原,
此时你可以通过查询语句检查一下还原的数据库信息,确认是否正确。
经过上面的步骤,SQL Server数据库就已经成功还原。
重要的是,在进行还原之前,要确保所有的备份文件都是完整无损的,并且要熟
悉还原的过程,以确保正确恢复数据库。
sqlserver恢复原理
sqlserver恢复原理
SQLServer恢复原理是指在SQLServer数据库发生错误或损坏时,如何恢复数据库到正常状态的过程。
这通常是通过使用SQL Server
的恢复功能来实现的,包括三种基本恢复模式:简单模式、完全模式和大容量恢复模式。
在SQL Server的简单恢复模式下,数据库只有最近的完整备份
和事务日志备份可以用于恢复。
这种模式通常适用于小型数据库或者不太重要的数据。
完全恢复模式是最常用的恢复模式,它要求数据库必须有完整备份和事务日志备份,可以在任何时候进行恢复。
在这种模式下,每个事务都被记录在事务日志中,以便在恢复时进行重放。
大容量恢复模式是一种特殊的完全恢复模式,在大容量恢复模式下,事务日志会自动截断,以避免日志文件太大而导致性能问题。
SQL Server恢复原理的关键在于如何将备份文件和事务日志一
起使用,以恢复数据库到最新的状态。
恢复过程可以通过SQL Server Management Studio或Transact-SQL语句来执行。
理解SQL Server
恢复原理对于数据库管理员和开发人员来说是非常重要的,因为它可以帮助他们避免数据丢失和系统崩溃的风险。
- 1 -。
sql server服务停止的处理方法
SQL Server服务停止的处理方法一、概述1. SQL Server是一种关系型数据库管理系统,广泛应用于企业级数据处理和管理。
然而,在实际应用中,由于各种原因,SQL Server服务有可能会出现停止运行的情况,给数据处理和管理带来一定的困扰。
2. 本文将介绍SQL Server服务停止的常见原因和处理方法,帮助用户快速有效地解决SQL Server服务停止的问题,确保数据的正常运行。
二、SQL Server服务停止的常见原因1. 服务器故障:包括硬件故障、操作系统故障等,导致SQL Server服务停止运行。
2. 服务崩溃:由于未知原因,SQL Server服务发生崩溃,导致服务停止。
3. 系统资源不足:服务器资源不足,如内存、硬盘空间等,导致SQL Server服务停止。
4. 网络问题:网络故障、防火墙设置等导致SQL Server无法正常运行。
5. 人为操作失误:误操作或者不当设置也可能导致SQL Server服务停止。
三、SQL Server服务停止的处理方法1. 检查系统日志(1)在Windows系统中,按下Win+R键打开运行窗口,输入eventvwr命令,打开系统事件查看器。
(2)在系统事件查看器中,选择“Windows日志”->“应用程序”,查看SQL Server的相关日志,寻找服务停止的原因。
(3)根据系统日志中的信息,分析服务停止的原因,进行相应的处理和调整。
2. 重新启动SQL Server服务(1)在Windows系统中,按下Win+R键打开运行窗口,输入services.msc命令,打开服务管理器。
(2)在服务管理器中,找到SQL Server相关的服务,右键点击选择“重启”或“启动”选项,重新启动SQL Server服务。
3. 检查系统资源(1)使用任务管理器等工具,检查服务器的CPU、内存、硬盘等资源使用情况,确保系统资源充足。
(2)根据资源检查结果,进行相应的优化和调整,释放系统资源,确保SQL Server服务能够正常运行。
SQL Server数据库故障及修复方法
SQL Server数据库故障及修复方法
对于计算机专业的大学生来说,SQL Server数据库肯定不陌生吧,SQL Server数据库作为目前使用相对广泛的数据库管理系统,被很多企业所使用,给大家带来了很多的方便。
对于企业来说,SQL Server数据库的稳定性至关重要,一旦发生问题,将会带来不可估量的损失。
当SQL Server数据库出现故障时,大家该如何解决问题呢?
SQL Server数据库常见故障:
1)SQL数据库置疑
2)SQL数据库无法附加或附加报错
3)SQL数据表查询错误
4)MDF文件损坏
5)SQL数据库备份文件损坏
6)SQL数据库被标记为可疑
7)SQL数据库被误删除
8)分区被格式化,SQL数据库被恢复后还是坏的
9)一致性错误
10)错误823等等
从上面大家可以了解到,SQL Server数据库的常见故障非常多,很可能用户一个错误操作就可能造成SQL Server数据库损坏或数据丢失,当出现这些问题时,用户不要盲目对数据库进行任何操作,因为用户的错误操作可能会造成数据库进一步损坏,对于不确定的情况,用户应该将数据库交给那些专业的数据库恢复人才进行恢复,这样才能保证数据库的安全。
SQL SERVER的备份和恢复方法
数据安全性随着计算机的普及和信息技术的进步,特别是计算机网络的飞速发展,信息安全的重要性日趋明显。
数据备份是保证信息安全的一个重要方法。
只要发生数据传输、数据存储和数据交换,就有可能产生数据故障。
这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。
有时造成的损失是无法弥补与估量的。
数据故障的形式是多种多样的。
通常,数据故障可划分为系统故障、事务故障和介质故障三大类。
从信息安全数据库备份与恢复方案的角度出,实际上第三方或敌方的“信息攻击”,也会产生不同种类的数据故障。
例如:计算机病毒型、特洛伊木马型、“黑客”入侵型、逻辑炸弹型等。
这些故障将会造成的后果有:数据丢失、数据被修改、增加无用数据及系统瘫痪等。
作为系统管理员,要千方百计地维护系统和数据的完整性与准确性。
通常采取的措施有:安装防火墙,防止“黑客”入侵;安装防病毒软件,采取存取控制措施;选用高可靠性的软件产品;增强计算机网络的安全性。
在信息的收集、处理、存储、传输和分发中经常会存在一些新的问题,其中最值得我们关注的就是系统失效、数据丢失或遭到破坏。
威胁数据的安全,造成系统失效的主要原因有以下几个方面:1) 硬盘驱动器损坏;此方面没有什么可防御的方法,硬盘有自身的生命周期,损坏后只能更换。
2) 人为错误;误删关键文件造成。
3) 黑客攻击;断网可以防御4) 病毒;断网,安装杀毒软件定期查杀。
5) 自然灾害;6) 电源浪涌;安装USP电源可以预防。
7) 磁干扰;因此,数据备份与数据恢复是保护数据的最后手段,也是防止主动型信息攻击的最后一道防线。
一般的数据文件备份和应用程序备份可以采用直接复制来解决,本公司的药品电子监管码赋码软件的基础是SQL SERVER,SQL SERVER不能直接通过复制来进行备份,其数据库是由完整的数据链组成。
所以必须采用SQL SERVER本身自带的备份方法。
SQL SERVER数据备份方法SQL SERVER数据库的备份方法主要有完整备份,差异备份,事务日志备份等。
SQL Server的灾难恢复
1 制定计划,备份和恢复策略的计划编制过程是工作中至关重要的部分,不正确的决定就如同服务器丢失数据一样迅速地结束你的事业。
第一步实际上是一个商业问题,可接受的服务器故障时间有多长?判定正常运行时间的常用标准是所谓的“ 9”。
这种分级机制限定了一年内可以接受的服务器故障时间,表7-1 列出了如何将其转换为年故障时间。
表7-1 可用性分级如果没有集群解决方案,任何 3 个9 以上的无故障率几乎不可能实现。
应切记数据库越大,恢复该数据库所花费的时间就越长。
你不是没有听说过,花18 小时恢复一个大型数据库并于隔日完成一致性检查。
7.1.1 第三方备份程序许多第三方供应商生产优秀的数据库备份和恢复软件,尽管其中某些软件包开始备份SQL Server,但是它们在试图备份数据库时将接收到一个共享错误。
惟一的解决办法是在备份系统前停止服务,或者购买插件代理备份已经打开的文件或SQL Server在线数据库。
这类代理将提高软件的价格,大约每一台服务器增加$800。
虽然笔者通过SQL Server 代理执行备份的成功率已经较高,但是笔者发现这个成功率仍然低于使用SQL Server 工具执行备份的成功率。
笔者首先使用这些软件包完成其擅长的工作,即备份文件,而不是数据库。
笔者喜欢通过SQL Server 代理作业备份数据库,然后使用第三方软件获取备份文件。
如果公司坚持购买第三方代理备份SQL Serv er 数据库,那么为了以防万一,还应使用SQL Server 工具备份数据库。
7.2 备份类型本节讨论可用于SQL Server 的备份类型,说明如何使用GUI 和T-SQL。
笔者始终偏好使用T-SQL 编写备份脚本,因为这样做可以复制过程,并且提供更多选择。
7.2.1 在Enterprise Manager 中全备份数据库全备份最容易执行,而且这是惟一一种必须在主服务器上完成的备份。
数据库全备份保存数据库对象和关系的完整快照,同时备份用户及其权限。
SQLServer数据库有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
SQLServer数据库有三种恢复模式:简单恢复模式、完整恢复模式和⼤容量⽇志恢复模式SQL Server数据库有三种恢复模式:简单恢复模式、完整恢复模式和⼤容量⽇志恢复模式:1.Simple 简单恢复模式,Simple模式的旧称叫”Checkpoint with truncate log“,其实这个名字更形象,在Simple模式下,SQL Server会在每次checkpoint或backup之后⾃动截断log,也就是丢弃所有的inactive log records,仅保留⽤于实例启动时⾃动发⽣的instance recovery所需的少量log,这样做的好处是log⽂件⾮常⼩,不需要DBA去维护、备份log,但坏处也是显⽽易见的,就是⼀旦数据库出现异常,需要恢复时,最多只能恢复到上⼀次的备份,⽆法恢复到最近可⽤状态,因为log丢失了。
Simple模式主要⽤于⾮critical的业务,⽐如开发库和测试库,但是道富这边的SQL Server(即使是⽣产库)⼤都采⽤Simple模式,是因为这边的SQL Server⼤都⽤于⾮critical的业务(critical的数据库⼤都采⽤Oracle和DB2),可以忍受少于1天的数据丢失(我们的job每天都会定时备份全库)。
如果需要压缩数据库⽇志(Shrink语句),将数据库模式切换到简单恢复模式后压缩率才是最⾼的,如果你的数据库在完整恢复模式或⼤容量⽇志回复模式下采⽤⽇志压缩,压缩后的⽇志⼤⼩并不会很理想。
2.Full 完整恢复模式,和Simple模式相反,Full模式的旧称叫”Checkpoint without truncate log“,也就是SQL Server不主动截断log,只有备份log之后,才可以截断log,否则log⽂件会⼀直增⼤,直到撑爆硬盘,因此需要部署⼀个job定时备份log。
Full的好处是可以做point-in-time恢复,最⼤限度的保证数据不丢失,⼀般⽤于critical的业务环境⾥。
SQL Server 备份及恢复的几种方法
SQL Server 备份及恢复的几种方法随着SQL Server 版软件越来越多,与此相关的数据备份与恢复的问题也越来越多,我们在解决问题的过程中总结了一些经验如下:一、备份各种形式①从系统管理里作备份,包括帐套的备份和年度帐的备份,这种份的优点是简单,易操作,压缩性好,占用硬盘空间小,但速度慢,并且如果是软件出现故障的情况下,可能无法进入系统管理.②从Enterprise Manager里做数据库的备份.每个数据库都有一个单独的备份.这种备份的优点是备份速度快,如果对SQL Server有一定了解的话,也是很简单的.③如果SQL Server无法启动的话,上述两种方法都是无效的,只能采用复制物理文件的方法,把用户帐套的ufdata.mdf ufdata.ldf 和ufsystem.mdf 和ufsystem.ldf二、恢复数据的方法①如果有帐套的备份的话,直接使用系统管理里的帐套引入功能就可以了。
在这种情况下,一些操作员的权限信息可以丢失,可以重新赋予权限,也可心恢复原来的ufsystem系统控制库②如果是年度帐的备份,并且软件中还有这个帐套和年度的话,可以用帐套主管注册,然后从年度帐菜单下引入;如果是没有这个帐套存在,就要在系统管理中新建一套帐,建帐时只要注意启用日期、行业性质、帐套主管即可,其他均可忽略,然后把备份中的ufdata.ba_ 用APP目录下的ufuncomp.exe 将它解压缩为ufdata.bak 再将此文件在enterprise manager 里restore 即可③通过Enterprise Manager 做的单个数据库的备份的和年度帐的备份可以通过restore database 功能来操作,具体过程为右键该数据库—所有任务—还原数据库—从设备—选择设备—磁盘—添加—浏览该文件—确定,在选项标签里把‘强制还原’选上,移至的物理文件名为该帐套的目录和文件名。
然后就可以正常恢复了。
SQLSERVER的备份和恢复策略
SQL SERVER的备份和灾难恢复策略陈克江苏省常熟市广播电视台网络中心摘要:阐述SQL SERVER的数据安全性的一些基本概念,针对故障导致数据丢失的不同情况制定相应恢复策略。
关键词:数据库备份故障恢复策略SQL SERVER作为Microsoft主要的数据库产品,以其强大的功能、可靠性和易管理性在包括广电行业的各企事业单位中得到广泛使用,各地广电部门的用户管理系统和地理信息系统等数据库应用中大量使用着SQL SERVER数据库系统,数据的重要性不言而喻,因此作为广电行业的运行维护人员,对于SQL SERVER系统应该有充分的了解。
其中最重要的部分就是要了解数据库系统的日常维护和出现故障之后数据的恢复过程。
1 故障原因计算机系统在长期运行中必定会出现种种故障,诸如:硬件故障:计算机的硬件产生故障导致计算机不能正常工作软件故障:计算机软件存在的错误和漏洞导致的故障使用错误:客户的误操作病毒和恶意破坏:由于计算机感染病毒或受到恶意攻击引起的故障还有其它很多因素都可能造成计算机系统的崩溃或数据的丢失。
因此必须事先制定行之有效的备份和恢复策略,才能在最短的时间恢复正常工作,将损失降低到最小。
2 有关数据恢复的基本概念2.1 数据库的分类:SQL SERVER典型安装后,系统自动生成多个数据库:Master,Model,Msdb,Northwind,Pubs,Tempdb。
其中Northwind和Pubs是微软提供的示例数据库,与用户定义数据库同属于用户数据库;Master、Model、Msdb、Tempdb等4个数据库是SQL SERVER的系统数据库,其作用分别如下:(1) Master数据库Master数据库记录了SQL SERVER所有的服务器级系统信息,所有注册帐户和密码,以及所有的系统设置信息以及用户定义数据库的存储位置和初始化信息。
(2) Tempdb数据库Tempdb记录了所有的临时表、临时数据和临时创建的存储过程。
SQLServer数据库崩溃后的恢复之法
SQLServer数据库崩溃后的恢复之法任何数据库系统都无法避免崩溃的状况,即使你使用了Clustered,双机热备……仍然无法完全根除系统中的单点故障,何况对于大部分用户来说,无法承受这样昂贵的硬件投资。
所以,在系统崩溃的时候,如何恢复原有的宝贵数据就成为一个极其重要的问题了。
在恢复的时候,最理想的情况就是你的数据文件和日志文件都完好无损了,这样只需要sp_attach_db,把数据文件附加到新的数据库上即可,或者在停机的时候把所有数据文件(一定要有master等)都copy到原有路径下也行,不过一般不推荐这样的做法,sp_attach_db比较好,虽然麻烦许多。
但是呢,一般数据库崩溃的时候系统是未必能有时间把未完成的事务和脏页等写入磁盘的,这样的情况sp_attach_db就会失败。
那么,寄期望于DBA制定了一个良好的灾难恢复计划吧。
按照你的恢复计划,还原最新的完全备份,增量备份或者事务日志备份,然后如果你的活动事务日志还能读得出来的话,恭喜你!你可以还原到崩溃前的状态。
一般的单位都是没有专职的DBA的,如果没有可用的备份,更可能是最近一次备份的时间过于久远而导致不可接受的数据损失,而且你的活动事务日志也处于不可用的状态,那就是最麻烦的情况了。
不幸的很的是,一般数据库崩溃都是由于存储子系统引起的,而这样的情况是几乎不可能有可用的日志用于恢复的。
那么就只好试一下这些方案了。
当然,是要求至少你的数据文件是存在的,要是数据文件、日志文件和备份都没有了的话,别找我,你可以到楼顶上去唱“神啊,救救我吧”。
首先,你可以试一下sp_attach_single_file_db,试着恢复一下你的数据文件,虽然能恢复的可能性不大,不过假如这个数据库刚好执行了一个checkpoint的话,还是有可能成功的。
如果你没有好到有摸彩票的手气,最重要的数据库没有像你期盼的那样attach上去,不要气馁,还是有别的方案的。
数据库恢复技术及SQLSERVER的恢复机制
COMMIT
事务结束
事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效 ROLLBACK 事务异常终止 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 事务滚回到开始时的状态
An Introduction to Database System
An Introduction to Database System
数据库原理及应用 Principles and Application of Database
单击添加副标题
第十章 数据库恢复技术及SQL Server的恢复机制
第三篇 系统篇
数据库系统中的数据是由DBMS统一管理和控制的,为了适应数据共享的环境,DBMS必须提供数据保护能力,以保证数据库中数据的安全可靠和正确有效。
3.隔离性
对并发执行而言 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的 并发执行的各个事务之间不能互相干扰
An Introduction to Database System
T1的修改被T2覆盖了!
读A=16 A←A-3 写回A=13
重装后备副本 重新运行事务
恢复 ─┼───────┴------------→
3
2
1
4
5
6
An Introduction to Database System
二、转储方法
01
静态转储与动态转储
02
海量转储与增量转储
03
转储方法小结
An Introduction to Database System
SQLSERVER镜像主服务器宕机或主实例崩溃恢复
SQLSERVER镜像主服务器宕机或主实例崩溃恢复--by Gelsey_guo当主服务器宕机或主实例崩溃时,在从库执行如下脚本(可能有数据的丢失):--This script does a failover of all the databases in a database mirroring session--to the Mirror server. This will be used in cases where the PRINCIPAL server is no longer available--and the mirrored databases have to be brought online.--NOTE: Run this script in the MIRRORED server instanceSET NOCOUNT OFFDECLARE@strSQL NVARCHAR(200)--variable for dynamic SQL statement - variable size should change depending on theDECLARE@strDatabasename NVARCHAR(50)--variable for destination directory DECLARE MyCursor CURSOR FOR--used for cursor allocationSELECT name FROM master.sys.databases aINNER JOIN master.sys.database_mirroring bON a.database_id=b.database_idWHERE NOT mirroring_guid IS NULLAND mirroring_role_desc='MIRROR'OPEN MyCursorFETCH Next FROM MyCursor INTO@strDatabasenameWHILE@@Fetch_Status= 0BEGIN---Run the ALTER DATABASE databaseName SET PARTNERFORCE_SERVICE_ALLOW_DATA_LOSSSET@strSQL='ALTER DATABASE '+@strDatabaseName+' SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS'EXEC sp_executesql@strSQLPRINT'Bringing '+@strDatabaseName+' ONLINE'PRINT'========================================'FETCH Next FROM MyCursor INTO@strDatabasenameENDCLOSE MyCursorDEALLOCATE MyCursor成功执行后提示如下:镜像服务器数据库状态由“正在恢复”转为“主体,已断开连接”如下(需要刷新下):数据库运行良好,正常对外提供服务。
sqlserver 恢复
1生产主机“客户机”相关属性配置
打开networker console管理界面,在所有生产主机的“客户机”的“属性”--→“全局”--→“远程访问”中加入异机恢复的主机的用户名和解析:administrator@zx,如下图所示:
二、各系统恢复情况记录:
在zx主机上打开networker sql server恢复界面networker user for sql server,如下图所示:
进入networker user for sql server恢复界面,选要使用的sql实例zx
点击“还原”按钮
选择还原操作类型:复制
选择还原备份的来源:networker sql server客户机中的finance_yyu8
选择要恢复的sql server数据库名:UFDATA_950_2007
打开“选项”- “属性”
点击 “确定”, 点击 “启动”,开始恢复
恢复进程:
恢复完成后的状态:
在sql server enterprise manager中确认恢复后的数据库UFDATA_950_2007:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLSERVER镜像主服务器宕机或主实例崩溃恢复
--by Gelsey_guo
当主服务器宕机或主实例崩溃时,在从库执行如下脚本(可能有数据的丢失):
--This script does a failover of all the databases in a database mirroring session
--to the Mirror server. This will be used in cases where the PRINCIPAL server is no longer available
--and the mirrored databases have to be brought online.
--NOTE: Run this script in the MIRRORED server instance
SET NOCOUNT OFF
DECLARE@strSQL NVARCHAR(200)--variable for dynamic SQL statement - variable size should change depending on the
DECLARE@strDatabasename NVARCHAR(50)--variable for destination directory DECLARE MyCursor CURSOR FOR--used for cursor allocation
SELECT name FROM master.sys.databases a
INNER JOIN master.sys.database_mirroring b
ON a.database_id=b.database_id
WHERE NOT mirroring_guid IS NULL
AND mirroring_role_desc='MIRROR'
OPEN MyCursor
FETCH Next FROM MyCursor INTO@strDatabasename
WHILE@@Fetch_Status= 0
BEGIN
---Run the ALTER DATABASE databaseName SET PARTNER
FORCE_SERVICE_ALLOW_DATA_LOSS
SET@strSQL='ALTER DATABASE '+@strDatabaseName+' SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS'
EXEC sp_executesql@strSQL
PRINT'Bringing '+@strDatabaseName+' ONLINE'
PRINT'========================================'
FETCH Next FROM MyCursor INTO@strDatabasename
END
CLOSE MyCursor
DEALLOCATE MyCursor
成功执行后提示如下:
镜像服务器数据库状态由“正在恢复”转为“主体,已断开连接”如下(需要刷新下):
数据库运行良好,正常对外提供服务。
原主库恢复后,主库的状态类似如下:
此时镜像库的状态如下:
当原来的主服务器恢复时,其数据库将处于“正在还原…”状态,而原来的镜像库(即现在的主体库)将处于“主体,挂起”状态。
若要继续正常进行镜像,需在现在的主服务器上恢复镜像,使用如下语句:
use master
alter database LotBill set partner resume;
alter database lotface set partner resume;
刷新数据库,查看状态,新主服务器上数据库将回到“主体,已同步”状态,而新镜像服务器上库状态则处于“正在还原…”。