2015-04-22 155 views
0

这是一个SQL Server问题。SQL Server mdf文件不变

当数据从数据库(如NorthwindDB)中填充或删除时,相应的mdf文件根本没有改变。但为了测试这一点,我重新启动了SQL Server服务,我可以看到时间戳和mdf文件大小的变化。

有什么办法可以强制数据库更改反映在相应的mdf和ldf文件中,而无需重新启动SQL服务。

+1

你可能会观察[预写日志(https://technet.microsoft.com/en-us/library/jj835093(V = sql.110 ).aspx)由Sql Server使用,即.LDF被写入.MDF/.NDF之前。为什么你需要观察文件上的文件时间戳? – StuartLC

+0

我需要将mdf和ldf文件复制到其他服务器,我需要确保在将数据库事务复制到文件之前,将这些数据库事务实施到这些文件中 – Jimmy

+1

AFAIK您需要停止Sql Server或分离数据库在执行此操作之前有问题,否则复制的文件将无法使用。您可能需要考虑使用受支持的BACKUP,日志传送,镜像或复制方法。 – StuartLC

回答

0

是的,你可以使用: DBCC SHRINKFILE(的Transact-SQL)

检查here

我个人使用的:

USE MyDB; 
GO 
-- Truncate the log by changing the database recovery model to SIMPLE. 
ALTER DATABASE MyDB; 
SET RECOVERY SIMPLE; 
GO 
-- Shrink the truncated log file to 1 MB. 
DBCC SHRINKFILE (MyDB_log_NAME, 1);   
GO 
-- Reset the database recovery model. 
ALTER DATABASE MyDB; 
SET RECOVERY FULL; 
GO 
相关问题