Mic*_*nny 10 sql-server-2005 sql-server backup datafile
每个月我们都会制作生产数据库的月末快照。这些月末快照严格用于报告目的,没有对其进行任何插入、更新或删除。这些快照中的每一个都有一个.MDF
和.LDF
文件。
我想删除.LDF
文件并释放服务器上的一些空间。我需要保留.LDF
文件有什么原因吗?
澄清:
我们的生产数据库每晚从另一个系统的文件提取中重新创建。我们只报告生产数据库......从来没有更新过。
每晚流程:据
我所知......
每天晚上数据库表都会被截断
这些表通过一系列批量插入语句填充
索引被重建
Tho*_*ger 16
您不应该删除日志文件。如果您尝试在没有日志的情况下重新附加数据文件,SQL Server 可以在技术上重新创建它,但存在一些潜在问题,例如分离数据库时是否有打开的事务。在这种情况下,您将完全丢失数据。
占用空间,不要删除您的日志文件。你是在自找麻烦。
请参阅有关事务日志的这篇文章,特别是“日志错误管理”部分。
如另一个答案中所述,您无法删除日志文件。您可以做的是将数据库设置为READ_ONLY
. 数据库在 中READ_ONLY
,不允许修改,日志文件也不会增长。您可以将日志文件的大小减小到最小大小并实现最小占用空间的目标。要在READ_ONLY
运行以下命令中设置数据库:
USE master;
GO
ALTER DATABASE databasename SET READ_ONLY;
GO
Run Code Online (Sandbox Code Playgroud)
您可以将数据库改回READ_WRITE
,进行任何需要的更改,然后将其设置为READ_ONLY
您需要的任何时间。
仍然需要日志文件来维护数据库的 ACID 属性。
Mic*_*nny -3
这是我想出的缩小 LDF 文件的解决方案。
这将重新创建大小为 504K 的 LDF 文件。
这回收了服务器上大量的磁盘空间。它对我们有用,因为所有这些数据库都只是静态报告数据库。不会对这些数据库执行任何插入、更新或删除操作。
2019-09-24 更新:是的,我同意这是一个非常糟糕的主意。我几乎立即停止这样做。我已使用填充因子 100 重建了所有索引。仅缩小了 .ldf 文件。并将所有数据库更改为只读。
归档时间: |
|
查看次数: |
21213 次 |
最近记录: |