如何在SQL Server 2008中禁用事务日志

Aru*_*ana 5 sql-server-2008

在SQL Server 2008中是否有任何方法可以禁用事务日志或清除日志文件?

当我在我的项目中执行一个查询(在事务方面非常大)时,该日志文件的大小将增加(2到3 GB).

请建议我一些不错的选择.

mar*_*c_s 8

无法在SQL Server中禁用事务日志.没门.

您可以切换到简单恢复模型

ALTER DATABASE YourDatabase SET RECOVERY SIMPLE
Run Code Online (Sandbox Code Playgroud)

这将记录更少 - 但事务日志是SQL Server中的一个基本的核心概念,你不能只关闭它.


Ole*_*Dok 3

你可以缩小它

DECLARE @sql NVARCHAR(MAX) = ''
SELECT @sql = @sql + N'DBCC SHRINKFILE('+CAST(file_id AS NVARCHAR)+N', 0);' 
FROM sys.database_files
WHERE type = 1

EXEC(@sql)
Run Code Online (Sandbox Code Playgroud)

它仅适用于简单恢复模型,而您必须备份日志并随后缩小它

即使您的数据库处于只读模式,您也根本无法删除日志文件。

在处理 sql server 的数据库时尝试重新设计和审查您的方法。缩小文件不是正确的选择或最佳实践 - 尤其是定期缩小文件!