MSSQL网页编程之SQL罕见成绩:怎样使用日记复原SQL数据...
操作被同步到从库上后,则主从都“回天无力”。数据|数据库|成绩用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。 数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。 而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~ 再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
页:
[1]