2015-04-22 144 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 
相關問題