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

发布于 2024-12-24 01:11:53 字数 127 浏览 0 评论 0原文

在 SQL Server 2008 中,有什么方法可以禁用事务日志或清除日志文件吗?

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

请给我推荐一些好的选择。

In SQL Server 2008 is there any way to disable transaction log or clear log file?

When I execute one query in my project (very large in terms of transaction) a that time this log file's size will goring to increase (2 to 3 GB).

Please suggest me some good option.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

無處可尋 2024-12-31 01:11:53

无法禁用 SQL Server 中的事务日志。决不。

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

ALTER DATABASE YourDatabase SET RECOVERY SIMPLE

这将减少日志记录 - 但事务日志是 SQL Server 中的基本核心概念,您不能将其关闭。

You cannot disable the transaction log in SQL Server. No way.

You can switch to simple recovery model

ALTER DATABASE YourDatabase SET RECOVERY SIMPLE

which will log less - but the transaction log is such a fundamental, core concept in SQL Server, you cannot just turn that off.

苏大泽ㄣ 2024-12-31 01:11:53

您可以缩小它

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)

但是它只适用于简单恢复模型,相反您必须备份日志并随后缩小它

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

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

You may shrink it

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)

BUT it only works with Simple recovery model, instead you have to back the log up and shrink it afterwards

You cannot drop the log files at all even if your database is in read-only mode.

AND try to redesign and review your approach when dealing with sql server's DB. It is not the right option or best practice to shrink files - especially on regular basis!

治碍 2024-12-31 01:11:53

您无法禁用事务日志。

如果您的日志需要大于 3GB,那就这样吧。如果你缩小它,它就会再次增长并导致其他问题。

如果是一次性的,您可以通过

You can't disable the transaction log.

If your log needs to be 3GB larger, then so be it. If you shrink it, then it will just grow again and cause other problems.

If it's one off, you can mitigate growth by

风和你 2024-12-31 01:11:53

将恢复模型更改为:simple

ALTER DATABASE myDB SET RECOVERY SIMPLE

并运行

DBCC SHRINKFILE (MyLog, 1); // to 1 MB

但是从哪里获取日志名称?

sp_helpdb MyDb

change the recovery model to :simple

ALTER DATABASE myDB SET RECOVERY SIMPLE

and run

DBCC SHRINKFILE (MyLog, 1); // to 1 MB

But from where do you get the log name ?

sp_helpdb MyDb
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文