在SQL Server 2008中是否有任何方法可以禁用事务日志或清除日志文件?
当我在我的项目中执行一个查询(在事务方面非常大)时,该日志文件的大小将增加(2到3 GB).
请建议我一些不错的选择.
您无法在SQL Server中禁用事务日志.没门.
您可以切换到简单恢复模型
ALTER DATABASE YourDatabase SET RECOVERY SIMPLE
Run Code Online (Sandbox Code Playgroud)
这将记录更少 - 但事务日志是SQL Server中的一个基本的核心概念,你不能只关闭它.
你可以缩小它
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 的数据库时尝试重新设计和审查您的方法。缩小文件不是正确的选择或最佳实践 - 尤其是定期缩小文件!
| 归档时间: |
|
| 查看次数: |
46370 次 |
| 最近记录: |