簡體   English   中英

備份日志數據庫 SQL 服務器

[英]Backup Log database SQL Server

我有一個關於 SQL Server Express 的數據庫,用於 3 個 Asp.net 應用程序。 恢復 Model 已滿。

每天我都用這段代碼執行備份

BACKUP DATABASE @databaseName TO DISK = @file WITH INIT, SKIP, NOREWIND, NOUNLOAD,  STATS = 10
BACKUP LOG @databaseName TO DISK = @fileLog WITH NOFORMAT, NOINIT,  NAME = N'Database-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

當應用程序池的啟動模式為 OnDemand 時,LDF 每天都會減少; 當我使用 AlwaysRunning 時,日志不會減少。

我想使用始終運行的應用程序池。 我可以使用收縮來減小日志大小嗎? 即使用戶正在使用網站?

ALTER DATABASE [DatiMachinaWeb] SET RECOVERY SIMPLE
DBCC SHRINKFILE(DatiMachinaWeb_log)
ALTER DATABASE [DatiMachinaWeb] SET RECOVERY FULL

我錯了嗎? 我該如何解決? 謝謝

是的,您可以使用 DBCC SHRINKFILE 在線減少日志大小。

但是暫時切換到簡單恢復模式會破壞日志備份鏈,如果您需要使用在日志收縮之前創建的備份進行恢復,您將需要該鏈。

一般來說,不需要縮小日志:通常您應該更頻繁地備份日志,或者只是讓大小適合生成的日志記錄活動和日志備份的頻率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM