国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类SQL Server → mssql2000 Log.LDF日志文件丢失的解决方案

mssql2000 Log.LDF日志文件丢失的解决方案

我要评论 2014/01/06 09:47:52 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:532次

由于种😓种原因,我们如【wǒ men rú】果当时仅仅备【jǐn jǐn bèi】份了mdf文件【wén jiàn】,而无法【ér wú fǎ】得到日志文件【wén jiàn】🍃,那么恢【nà me huī】🔳复起来就是一件很麻烦的事😙情了🚽。

【同一数据库服务器的情况】
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息
设备激活错误。物理文件名 'C:\Program Files\Microsoft sql server\MSSQL\data\test_Log.LDF' 可能有误。
已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。

【不同数据库服务器【fú wù qì】的⏯情况【qíng kuàng】】
  如果您🈚的数据【de shù jù】库文件是从其他计算🎏机上复【jī shàng fù】👺制过来的,那么很【nà me hěn】不幸⤵,也许上🚊述办法就行【jiù háng】🔒不通了。你也许会得到【huì dé dào】类似下🈚面的错误♐信息
服务器【fú wù qì】: 消息🍢 1813,级别【jí bié】🌺 16,状态 2,行🔒 1
未能打开新数【kāi xīn shù】据库 'test'。CREATE DATABASE 将终止【jiāng zhōng zhǐ】。
设备激活错误【huó cuò wù】♐。物理文【wù lǐ wén】件名 'd:\test_log.LDF' 可能有🗃误♐。

怎么办呢【ne】?别着急🗂,下面我【xià miàn wǒ】🐵们举例【men jǔ lì】说明恢🃏复办法。

A.使用默认方式【rèn fāng shì】建立一🐜个供恢复使用【fù shǐ yòng】🕞的数据👌库【kù】(test)。

B.停掉数据库服务器。

C.将刚才【jiāng gāng cái】生成的数据库【shù jù kù】🔼的日志【de rì zhì】文件【jiàn】🤵test_log.ldf删除🐪,用要恢【yòng yào huī】📧复的数据库【shù jù kù】🔼mdf文件【jiàn】覆🤬盖刚才生成的数据库【shù jù kù】🔼数据文件【jiàn】🤵test_data.mdf。

D.启动数据库服务器。此时会看到数🕍据库test的状态【de zhuàng tài】为【wéi】“置疑【zhì yí】”。这时候【zhè shí hòu】🤸不能对【bú néng duì】📵此数据库进行🏫任何操🤺作。

E.设置🛃数据库允许直接【jiē】😧操作系【cāo zuò xì】统表【tǒng biǎo】🚤。此操作🐩可以在【kě yǐ zài】🐘SQL Server Enterprise Manager里面选择【xuǎn zé】数据🦊库服务器🦏,按右键,选择【xuǎn zé】“属性”,在“服务器🦏设置🛃”页面中【yè miàn zhōng】将🐗“允许对系统目录直接【jiē】修改【xiū gǎi】”一项选中【zhōng】。

F.设置test为紧急修复模式

update sysdatabases set status=-32768 where dbid=DB_ID('test')

此时可以在🗒SQL Server Enterprise Manager里面看到该数【dào gāi shù】🏞据库处【jù kù chù】🏺于“只读🉑\置疑\脱机\紧急模式”可以看【kě yǐ kàn】到数据【dào shù jù】库里面的表【de biǎo】,但是仅【dàn shì jǐn】仅有系🍯统表🖊。

G.下面执行真正【háng zhēn zhèng】🏪的恢复🥐操作,重建数【chóng jiàn shù】🦖据库日志文件【zhì wén jiàn】

dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

执行过程中,如果遇到下列提示信息:

服务器♓: 消息【xiāo xī】 5030,级别 16,状态【zhuàng tài】🍒 1,行 1

未能排它地锁定数据库以执行该操作。

DBCC 执行完🛡毕【bì】🛌。如果 DBCC 输出了【shū chū le】错误信息🍬,请与系统管理【tǒng guǎn lǐ】员联系。

说明您💰的其他程序正🏥在使用【zài shǐ yòng】该数据【gāi shù jù】库🍤,如果刚【rú guǒ gāng】才您在【cái nín zài】⛽F步骤中使用SQL Server Enterprise Manager打开了【le】🌜test库🍤的系统表,那么退出SQL Server Enterprise Manager就可以【jiù kě yǐ】🕢了【le】。

正确执行完成的提示应该类似于:

警告: 数据库 'test' 的日志【de rì zhì】已重建。已失去事务的🐼一致性。应运行【yīng yùn háng】 DBCC CHECKDB 以验证物理一【wù lǐ yī】🔩致性。将必须重置数【chóng zhì shù】🕓据库选项,并且可【bìng qiě kě】👭能需要【néng xū yào】🚺删除多余的日🌞志文件。

DBCC 执行完🎯毕🎄。如果 DBCC 输出了错误信【cuò wù xìn】息【xī】🧖,请与系统管理员联系【yuán lián xì】。

此时打🗽开在🌹SQL Server Enterprise Manager里面会看到数【kàn dào shù】🤑据库的状态为【zhuàng tài wéi】“只供【zhī gòng】🔽DBO使用🔃”。此时可以访问数据库【shù jù kù】里面的【lǐ miàn de】用户表了。

H.验证数据库一致性(可省略)

dbcc checkdb('test')

一般执行结果如下:

CHECKDB 发现了 0 个分配🎯错误和【cuò wù hé】 0 个一致【gè yī zhì】性错误🌏(在数据库【kù】 'test' 中🥏)。

DBCC 执行完🚻毕【bì】🎓。如果【rú guǒ】 DBCC 输出了错误信息🐙,请与系统管理员联系【yuán lián xì】。

I.设置数据库为正常状态

sp_dboption 'test','dbo use only','false'

如果没【rú guǒ méi】有出错【yǒu chū cuò】🎶,那么恭喜🌔,现在就可以正常的使【cháng de shǐ】用恢复后的数据库啦😳。

J.最后一步,我们要将步骤【jiāng bù zhòu】😏E中设置🎍的“允许对系统目【xì tǒng mù】录直接📆修改【xiū gǎi】🥘”一项恢📎复【fù】🏰。因为平时直接【shí zhí jiē】操作系统表是🤠一件比较危险【jiào wēi xiǎn】的事情。当然【dāng rán】,我们可【wǒ men kě】以在SQL Server Enterprise Manager里面恢🍂复【fù】🏰,也可以使用如下语句【xià yǔ jù】完成🕙
 

-SQL

sp_configure 'allow updates',0
go 
reconfigure with override
go

关键词:mssql2000,解决方案

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视