|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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用来存储数据的文件格式以已经被广泛地测试过,但是总是有外部情况可以导致数据库表被破坏: |
|