仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1515|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之数据库恢复实战

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因此我们的方案中要构造这种逆操作。Event_type增加一种FlashBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。恢复|数据|数据库
数据库:MSSQLSERVER2000企业版
成绩形貌:数据库置疑。数据库备份文件破坏。将数据库物理文件(*.MDF)拷贝出来,利用数据库附加功效,附加失利。
提醒毛病:
服务器:动静1813,级别16,形态2,行1
未能翻开新数据库test。CREATEDATABASE将停止。
设备激活毛病。物理文件名d:        est_log.LDF大概有误。

进查找相干材料办理计划以下:
A.我们利用默许体例创建一个供恢复利用的数据库(如test)。能够在SQLServerEnterpriseManager内里创建。
B.停失落数据库服务器。
C.将方才天生的数据库的日记文件test_log.ldf删除,用要恢复的数据库mdf文件掩盖方才天生的数据库数据文件test_data.mdf。
D.启动数据库服务器。此时会看到数据库test的形态为“置疑”。这时候候不克不及对此数据库举行任何操纵。
E.设置数据库同意间接操纵体系表。此操纵能够在SQLServerEnterpriseManager内里选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“同意对体系目次间接修正”一项选中。也能够利用以下语句来完成。
usemaster
go
sp_configureallowupdates,1
go
reconfigurewithoverride
go
F.设置test为告急修复形式
updatesysdatabasessetstatus=-32768wheredbid=DB_ID(test)
此时能够在SQLServerEnterpriseManager内里看到该数据库处于“只读置疑脱机告急形式”能够看到数据库内里的表,可是仅唯一体系表
G.上面实行真实的恢复操纵,重修数据库日记文件
dbccrebuild_log(test,C:ProgramFilesMicrosoftSQLServerMSSQLData        est_log.ldf)
实行过程当中,假如碰到以下提醒信息:
服务器:动静5030,级别16,形态1,行1
未能排它地锁定命据库以实行该操纵。
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。
申明您的其他程序正在利用该数据库,假如方才您在F步骤中利用SQLServerEnterpriseManager翻开了test库的体系表,那末加入SQLServerEnterpriseManager就能够了。
准确实行完成的提醒应当相似于:
告诫:数据库test的日记已重修。已得到事件的分歧性。应运转DBCCCHECKDB以考证物理分歧性。将必需重置数据库选项,而且大概必要删除过剩的日记文件。
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。
此时翻开在SQLServerEnterpriseManager内里会看到数据库的形态为“只供DBO利用”。此时能够会见数据库内里的用户表了。
H.考证数据库分歧性(可省略)
dbcccheckdb(test)
一样平常实行了局以下:
CHECKDB发明了0个分派毛病和0个分歧性毛病(在数据库test中)。
DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。
I.设置数据库为一般形态
sp_dboptiontest,dbouseonly,false
假如没有堕落,那末祝贺,如今就能够一般的利用恢复后的数据库啦。
J.最初一步,我们要将步骤E中设置的“同意对体系目次间接修正”一项恢复。由于平常间接操纵体系表是一件对照伤害的事变。固然,我们能够在SQLServerEnterpriseManager内里恢复,也能够利用以下语句完成
sp_configureallowupdates,0
go
reconfigurewithoverride
go
mysqld进程在一个写入当中被杀死;计算机的意外关闭(例如,如果计算机掉电);一个硬件错误。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 20:04:10 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
莫相离 该用户已被删除
板凳
发表于 2015-1-27 22:12:10 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-5 11:09:15 | 只看该作者
呵呵,这就是偶想说的
变相怪杰 该用户已被删除
5#
发表于 2015-2-11 11:11:05 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-2 11:23:03 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
金色的骷髅 该用户已被删除
7#
 楼主| 发表于 2015-3-11 03:26:11 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
蒙在股里 该用户已被删除
8#
发表于 2015-3-17 19:40:09 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
兰色精灵 该用户已被删除
9#
发表于 2015-3-24 22:41:22 | 只看该作者
无法深入到数据库系统层面去了解和探究
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表