sql2005中master数据库日志文件与数据文件不一致,怎么修复

 我来答
xiangjuan314
2016-04-11 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2904万
展开全部
SQL数据库的数据全部存放在这两个文件里,一般mdf是存数据的,ldf是日志文件。
sql服务在启动后就锁定了这两个文件,并做读写的操作。所以修改时间是一一直在更新的。
你说停在某个时间段,说明你看到的这两个文件不在使用了。可能SQL服务停了,或这个数据库已经分离出来了。这样的话,这两个文件是可以移动的。
你说的正常使用,可能是重建了数据库,而文件使用的不是你看到的这两个,你可以进SQL管理器里看下数据库的属性。。

一、删除LOG

1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。

勾选删除连接

分离后在数据库列表将看不到已分离的数据库。
2、删除LOG文件
3、附加数据库,附加的时候会提醒找不到log文件。

删除数据库信息信息的ldf文件:

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。
也可以通过命令才完成以上的操作:
use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'

二、清空日志
该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。
DUMP TRANSACTION TestDB WITH NO_LOG

三、收缩数据库文件
DBCC SHRINKFILE ('TestDB_log',1)

四、截断事务日志
BACKUP LOG TestDB WITH NO_LOG
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式