问题描述
很抱歉有人问过这个问题。 我对SQL Server没有太多经验。
在我们的SQL Server上,有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个小时。