sql2005中master数据库日志文件与数据文件不一致,怎么修复
展开全部
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询