仓酷云

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

[学习教程] MSSQL网页编程之SQL罕见成绩:怎样使用日记复原SQL数据...

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

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

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

x
操作被同步到从库上后,则主从都“回天无力”。数据|数据库|成绩用LogExplorer恢复,假如没有LogExplorer能够用日记文件举行工夫点恢复,
将会得到此工夫点以后的一切数据库改动
example:
起首对数据库举行日记备份

查询剖析器里
1.usenorthwind
insertemployees(lastname,firstname)values(aaa,bf)
记下这时候的工夫

2.过3分钟输出
usenorthwind
insertemployees(lastname,firstname)values(bbb,cd)

3.此时select*fromemployees将能看到这两笔记录
4.举行日记备份,选中northwind数据库,一切义务,backupdatabase
在对话框中,选择事件日记备份为备份范例,选择已有的备份设备,和追加到媒体
单击ok举行备份.如许天生了两个新记录的日记备份

5.以下演示恢复
一切义务restoredatabase
对话框当选择时点复原,输出方才纪录的工夫,单击ok恢复

6.实行select*fromemployees,此时只能看到第一个新拔出的纪录


怎样在数据库文件破坏(日记文件无缺)情形下,举行恢复
数据库文件破坏的时分怎样恢复
1建一个测试数据库test(数据库范例为完整)
2建一个表,拔出点纪录
createtablea(c1varchar(2))
go
insertintoavalues(aa)
go
insertintoavalues(bb)
go
3作完整备份,到文件test_1.bak
4在作一点修正
insertintoavalues(cc)
go
createtableb(c1int)
go
insertintobvalues(1)
go
insertintobvalues(2)
go
5shutdown数据库服务器
6用ultraedit编纂数据库文件test_data.mdf,任意修正点字节内容
7启动数据库,而且运转企业办理器,点开数据库,看到test酿成灰色,并且显现置
疑。
8运转isql-SLocalhost-Usa-P
1>backuplogtestTODISK=D:ProgramFilesMicrosoftSQL
ServerMSSQLBACKUP       
est_2.bakWITHNO_TRUNCATE
2>go
已处置2页,这些页属于数据库test的文件TEST_Log(位于文件1上)。
BACKUPLOG操纵乐成地处置了2页,消费了0.111秒(0.087MB/秒)。

9举行恢复最老的完整备份
1>RESTOREDATABASEtestFROMDISK=D:ProgramFilesMicrosoftSQL
ServerMSSQL
BACKUP        est_1.bakWITHNORECOVERY
2>go
已处置96页,这些页属于数据库test的文件TEST_Data(位于文件1上)。
已处置1页,这些页属于数据库test的文件TEST_Log(位于文件1上)。
RESTOREDATABASE操纵乐成地处置了97页,消费了0.107秒(7.368MB/秒)。

10恢复比来的日记
1>RESTORELOGtestFROMDISK=D:ProgramFilesMicrosoftSQL
ServerMSSQLBACKU
P        est_2.bakWITHRECOVERY
2>go
已处置2页,这些页属于数据库test的文件TEST_Log(位于文件1上)。
RESTORELOG操纵乐成地处置了2页,消费了0.056秒(0.173MB/秒)。

数据已完整恢复了,可使用了。
select*froma
go

select*fromb
go
c1
----
aa
bb
cc

有老的备份的话
1backuplogdbTODISK=e:db2.bakWITHNO_TRUNCATE
2恢复最老的完整备份
RESTOREDATABASEdbFROMDISK=e:db1.bakWITHNORECOVERY

3恢复比来的日记
RESTORELOGdbFROMDISK=e:db2.bakWITHRECOVERY


MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的的女儿也叫My。
老尸 该用户已被删除
沙发
发表于 2015-1-18 13:45:35 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-22 05:57:59 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
柔情似水 该用户已被删除
地板
发表于 2015-1-30 23:24:08 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
只想知道 该用户已被删除
5#
发表于 2015-2-17 10:22:48 | 只看该作者
不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
不帅 该用户已被删除
6#
发表于 2015-3-5 19:29:39 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
7#
发表于 2015-3-12 12:27:23 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
海妖 该用户已被删除
8#
发表于 2015-3-19 22:17:21 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-27 23:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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