如果有人问了这个问题,我们深表歉意。我对SQL server没有太多经验。
在我们的SQL服务器上,有1 TB以上的日志文件大小。数据库处于完全恢复状态。已进行了初始完全备份,并为事务日志设置了常规备份作业,以阻止日志文件大小过大。
所以我的问题是,我可以在进行日志备份后截断日志文件吗。
如果出现长时间运行的事务或巨大的数据导入等异常事件,您可以使用以下代码恢复以前的大小:
DBCC SHRINKFILE(2,TRUNCATEONLY);
ALTER DATABASE [StackOverflow] MODIFY FILE (NAME = N'StackOverflow_Log', SIZE = 256MB);
SHRINKFILE
的第二个自变量是file_id
:
SELECT *
FROM sys.database_files;
此外,有时拥有一个巨大的日志文件可能是正常的。它基本上取决于数据库上的活动。因此,256 MB
可能或多或少。最好设置一个大小,这样就足以在不增加工作量的情况下处理正常工作量。
您还应该检查执行日志文件备份的频率——每10分钟或每1小时。