仓酷云

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

[学习教程] MSSQL编程:数据库日记文件丧失时的恢复步骤

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功恢复|数据|数据库
Theinformationinthisarticleappliesto:

-MicrosoftSQLServer7.0,2000






数据库日记文件丧失时的恢复步骤RevisionHistory:
Version

Date

Creator

Description

1.0.0.1

2003-3-25

郑昀

草稿








ImplementationScope:
本文是用于向MicrosoftSQLServer保护职员形貌我误删除数据库的事件日记文件(.ldf)以后,怎样经由各类实验,从头恢单数据库的。

本文面向的读者是数据库保护职员。
Disclaimers:
本文档所包括的信息代表了在公布之日,郑昀对所会商成绩确当前意见。郑昀不包管所给信息在公布之日今后的正确性。

本文档仅供参考。

用户必需恪守一切合用的版权法。在不合错误版权法所划定的权力加以限定的情形下,如未失掉郑昀明白的书面允许,不得出于任何目标、以任何情势或手腕(电子的、机器的、影印、录制等等)复制、传布本文的任何部分,也不得将其存储或引进到检索体系中。

持续浏览之前,我们假定您熟习以下常识:

nMicrosoftSQLServer
关头词:
EmergencyMode、DBCCCHECKDB、DTS
参考材料清单:
称号

作者

编号

公布日期

《当SQLServer数据库溃散时怎样恢复?》

怡红令郎





《SQLServer非一般删除日记文件(ldf)恢复办法》

_Rambo




事变的原因
今天,体系办理员告知我,我们一个外部使用数据库地点的磁盘空间不敷了。我注重到数据库事务日记文件XXX_Data.ldf文件已增加到了3GB,因而我决意减少这个日记文件。经由压缩数据库等操纵未果后,我犯了一个自进进行业以来的最年夜最愚昧的毛病:居然误删除这个日记文件!厥后我看到一切论及数据库恢复的文章上都说道:“不管怎样都要包管数据库日记文件存在,它相当主要”,乃至微软乃至有一篇KB文章讲怎样只靠日记文件恢单数据库的。我真是不晓得我当时候是怎样想的?!

这下子坏了!这个数据库连不上了,企业办理器在它的中间写着“(置疑)”。并且最要命的,这个数据库历来没有备份了。我独一找失掉的是迁徙半年前的别的一个数据库服务器,使用却是能用了,可是少了很多纪录、表和存储历程。真但愿这只是一场恶梦!
没无效果的恢复步骤附加数据库
_Rambo讲过被删除日记文件中不存在举动日记时,能够这么做来恢复:

1,分别被置疑的数据库,可使用sp_detach_db
2,附加数据库,可使用sp_attach_single_file_db

可是,很遗憾,实行以后,SQLServer质疑数据文件和日记文件不符,以是没法附加数据库数据文件。
DTS数据导出
不可,没法读取XXX数据库,DTSWizard呈报说“初始化高低文产生毛病”。
告急形式
怡红令郎讲过没有日记用于恢复时,能够这么做:

1,把数据库设置为emergencymode

2,从头创建一个log文件

3,把SQLServer从头启动一下

4,把使用数据库设置成单用户形式

5,做DBCCCHECKDB

6,假如没有甚么年夜成绩就能够把数据库形态改归去了,记得别忘了把体系表的修正选项关失落



我理论了一下,把使用数据库的数据文件移走,从头创建一个同名的数据库XXX,然后停失落SQL服务,把本来的数据文件再掩盖返来。以后,依照怡红令郎的步骤走。

可是,也很遗憾,除第2步以外,其他步骤实行十分乐成。惋惜,重启SQLServer以后,这个使用数据库仍旧是置疑!

不外,让我欣喜的是,这么做以后,却是可以Select数据了,让我年夜出一口吻。只不外,组件利用数据库时,呈报说:“产生毛病:-2147467259,未能在数据库XXX中运转BEGINTRANSACTION,由于该数据库处于躲避恢复形式。”


终极乐成恢复的全体步骤设置数据库为告急形式
ü停失落SQLServer服务;

ü把使用数据库的数据文件XXX_Data.mdf移走;

ü从头创建一个同名的数据库XXX;

ü停失落SQL服务;

ü把本来的数据文件再掩盖返来;

ü运转以下语句,把该数据库设置为告急形式;

运转“UseMaster

Go

sp_configureallowupdates,1

reconfigurewithoverride

Go”

实行了局:

DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。

已将设置选项allowupdates从0改成1。请运转RECONFIGURE语句以安装。



接着运转“updatesysdatabasessetstatus=32768wherename=XXX”

实行了局:

(所影响的行数为1行)



ü重启SQLServer服务;

ü运转以下语句,把使用数据库设置为SingleUser形式;

运转“sp_dboptionXXX,singleuser,true”

实行了局:

命令已乐成完成。



ü做DBCCCHECKDB;

运转“DBCCCHECKDB(XXX)”

实行了局:

XXX的DBCC了局。

sysobjects的DBCC了局。

工具sysobjects有273行,这些行位于5页中。

sysindexes的DBCC了局。

工具sysindexes有202行,这些行位于7页中。

syscolumns的DBCC了局。

………



ü运转以下语句把体系表的修正选项关失落;

运转“sp_resetstatus"XXX"

go

sp_configureallowupdates,0

reconfigurewithoverride

Go”

实行了局:

在sysdatabases中更新数据库XXX的条目之前,形式=0,形态=28(形态suspect_bit=0),

没有更新sysdatabases中的任何行,由于已准确地重置了形式和形态。没有毛病,未举行任何变动。

DBCC实行终了。假如DBCC输入了毛病信息,请与体系办理员接洽。

已将设置选项allowupdates从1改成0。请运转RECONFIGURE语句以安装。



ü从头创建别的一个数据库XXX.Lost;
DTS导出导游
ü运转DTS导出导游;

ü复制源选择EmergencyMode的数据库XXX,导进到XXX.Lost;

ü选择“在SQLServer数据库之间复制工具和数据”,试了屡次,仿佛不可,只是复制过去了一切表布局,可是没无数据,也没有视图和存储历程,并且DTS导游最初呈报复制失利;

ü以是最初选择“从源数据库复制表和视图”,可是厥后发明,如许老是只能复制一部分表纪录;

ü因而选择“用一条查询指定要传输的数据”,缺哪一个表纪录,就导哪一个;

ü视图和存储历程是实行SQL语句增加的。



如许,XXX.Lost数据库就能够交换本来的使用数据库了。



Writtenbyzhengyun@tomosoft.com


MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-19 13:51:56 | 只看该作者
呵呵,这就是偶想说的
再见西城 该用户已被删除
板凳
发表于 2015-1-19 13:51:57 来自手机 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
深爱那片海 该用户已被删除
地板
 楼主| 发表于 2015-1-25 07:56:17 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
柔情似水 该用户已被删除
5#
发表于 2015-2-2 18:10:10 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
简单生活 该用户已被删除
6#
发表于 2015-2-8 03:59:01 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
兰色精灵 该用户已被删除
7#
发表于 2015-3-7 10:54:28 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
乐观 该用户已被删除
8#
发表于 2015-3-15 02:04:21 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
蒙在股里 该用户已被删除
9#
发表于 2015-3-21 16:54:00 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 18:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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