在SQL Server 2008中有什么办法可以禁用事务日志或清除日志文件?如何在SQL Server 2008中禁用事务日志
当我在我的项目中执行一个查询时(在事务方面非常大),那个时候这个日志文件的大小将增加(2到3 GB)。
请给我一些不错的选择。
在SQL Server 2008中有什么办法可以禁用事务日志或清除日志文件?如何在SQL Server 2008中禁用事务日志
当我在我的项目中执行一个查询时(在事务方面非常大),那个时候这个日志文件的大小将增加(2到3 GB)。
请给我一些不错的选择。
你可能会缩小它
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)
但它仅适用于简单恢复模式,而不是你需要备份日志了,后来它收缩
你不能在所有即使您的数据库是只读模式删除日志文件。
AND尝试在处理sql server的数据库时重新设计和检查你的方法。收缩文件不是正确的选择或最佳做法 - 尤其是定期进行!
感谢您的支持努力,是否为此创建工作是正确的选择,因此在特定的时间间隔内它将执行并缩小该文件? – 2012-01-04 08:36:03
是的 - 只是在你的情况可能是,但尝试重新设计和审查你的方法时,处理sql服务器的数据库。收缩文件不是正确的选择或最佳做法 - 尤其是定期进行! – 2012-01-04 08:39:52
这适用于完全恢复,但会破坏您的日志备份链。您需要完整备份来重置日志备份链。这也不是答案,真的。它只是修复症状并产生更多问题。我不会因为你已经缩小缩小而降低你的评价。这个问题得到一个虽然 – gbn 2012-01-04 08:51:11
更改恢复模式:simple
ALTER DATABASE myDB SET RECOVERY SIMPLE
和运行
DBCC SHRINKFILE (MyLog, 1); // to 1 MB
但是,从你在哪里得到的日志名称?
sp_helpdb MyDb
您不能禁用事务日志在SQL Server中。没门。
您可以切换到简单恢复模式
ALTER DATABASE YourDatabase SET RECOVERY SIMPLE
,纪录少 - 但事务日志是SQL Server这样一个基本的,核心理念,你不能只把它们关掉。
您无法禁用事务日志。
如果您的日志需要大3GB,那就这样吧。如果缩小它,它会再次增长并导致其他问题。
如果它是一关,你可以通过
您的问题已经在SO上提出并解答。这里的链接http://stackoverflow.com/questions/996403/disable-transaction-log – GuZzie 2012-01-04 08:23:02
@GuZzie是的,但链接只是为恢复模型 - 和OP也问清除它.....所以不要把不完整的相关链接。 – 2012-01-04 08:24:26
@RoyiNamir 2年前问过问题,但仍未清除?在这种情况下,同样的决议应该回答Arun的问题。对不起,帮助lol – GuZzie 2012-01-04 08:28:26