0
這是一個SQL Server問題。SQL Server mdf文件不變
當數據從數據庫(如NorthwindDB)中填充或刪除時,相應的mdf文件根本沒有改變。但爲了測試這一點,我重新啓動了SQL Server服務,我可以看到時間戳和mdf文件大小的變化。
有什麼辦法可以強制數據庫更改反映在相應的mdf和ldf文件中,而無需重新啓動SQL服務。
這是一個SQL Server問題。SQL Server mdf文件不變
當數據從數據庫(如NorthwindDB)中填充或刪除時,相應的mdf文件根本沒有改變。但爲了測試這一點,我重新啓動了SQL Server服務,我可以看到時間戳和mdf文件大小的變化。
有什麼辦法可以強制數據庫更改反映在相應的mdf和ldf文件中,而無需重新啓動SQL服務。
是的,你可以使用: 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
你可能會觀察[預寫日誌(https://technet.microsoft.com/en-us/library/jj835093(V = sql.110 ).aspx)由Sql Server使用,即.LDF被寫入.MDF/.NDF之前。爲什麼你需要觀察文件上的文件時間戳? – StuartLC
我需要將mdf和ldf文件複製到其他服務器,我需要確保在將數據庫事務複製到文件之前,將這些數據庫事務實施到這些文件中 – Jimmy
AFAIK您需要停止Sql Server或分離數據庫在執行此操作之前有問題,否則複製的文件將無法使用。您可能需要考慮使用受支持的BACKUP,日誌傳送,鏡像或複製方法。 – StuartLC