蒙在股里 发表于 2015-1-16 22:16:24

MSSQL编程:sqlserver2005没有log日记文件时恢单数...

Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用SQLServer2005数据库日记文件破坏的情形下怎样恢单数据库呢?上面我们来具体剖析...在某些偶尔的情形下,
会引发SQLServer2005数据库日记文件的破坏,好比:硬件妨碍、盘算机非一般重启或关机。
当SQLServer2005数据库日记文件破坏时,大概会呈现以下情形:
1、在SQLServerManagementStudio中显现数据库处于置疑(suspect)形态。
2、事务日记大概会呈现以下毛病信息:
Couldnotredologrecord(21737:686:9),fortransactionID(0:2334886),onpage
(1:37527),databaseTest(databaseID15).Page:LSN=(21735:299:5),type=2.Log:
OpCode=3,context19,PrevPageLSN:(21737:615:1).Restorefromabackupofthe
database,orrepairthedatabase.
DuringredoingofaloggedoperationindatabaseTest,anerroroccurredatlog
recordID(76116:286:2).Typically,thespecificfailureispreviouslyloggedasanerror
intheWindowsEventLogservice.Restorethedatabasefromafullbackup,orrepairthe
database.
3、没法分别数据库
4、用CREATEDATABASEDBNameON(FILENAME=NDBFile)FORATTACH_REBUILD_LOG附加数据库
时呈现提醒:Thelogcannotberebuiltbecausethedatabasewasnotcleanlyshutdown.
恢复办法:
1、中断数据库服务。
2、将必要恢复的数据库文件复制到别的的地位。
3、启动数据库服务。
4、确认要恢复的数据库文件已乐成复制到别的的地位,然后在SQLServerManagementStudio中删
除要恢复的数据库。
5、新建同名的数据库(数据库文件名也要不异)。
6、中断数据库服务。
7、用第2步中备份的.mdf文件掩盖新数据库的同名文件。
8、启动数据库服务。
9、运转alterdatabasedbnamesetemergency,将数据库设置为emergencymode
10、运转上面的命令就能够恢单数据库:
usemaster
declare@databasenamevarchar(255)
set@databasename=要恢复的数据库称号
execsp_dboption@databasename,Nsingle,Ntrue--将方针数据库置为单用户形态
dbcccheckdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcccheckdb(@databasename,REPAIR_REBUILD)
execsp_dboption@databasename,Nsingle,Nfalse--将方针数据库置为多用户形态
下面的办法是经由过程.mdf文件恢单数据库,即便log文件丧失也能够恢复。
由MySQL用来存储数据的文件格式以已经被广泛地测试过,但是总是有外部情况可以导致数据库表被破坏:

莫相离 发表于 2015-1-19 06:28:20

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

若相依 发表于 2015-1-28 05:16:33

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

深爱那片海 发表于 2015-2-5 16:57:39

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。

简单生活 发表于 2015-2-13 01:45:36

你可以简单地认为适合的就是好,不适合就是不好。

仓酷云 发表于 2015-3-3 12:41:08

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

再现理想 发表于 2015-3-11 11:14:07

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

精灵巫婆 发表于 2015-3-18 14:10:20

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

因胸联盟 发表于 2015-3-26 04:47:37

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
页: [1]
查看完整版本: MSSQL编程:sqlserver2005没有log日记文件时恢单数...