今天我看到SQL Server数据库的.ldf文件大66 GB。 MDF只有200 MB大。
如何禁用.ldf文件中的日志记录?
答案 0 :(得分:14)
您的数据库可能已处于完全恢复模式状态,因此最简单,最简单的方法是进行完全备份,然后进行增量备份,这将大大减少。
如果您不想进行增量备份(例如,由于缺少备份软件),并且您不希望LDF变得那么大,则需要将恢复模式设置为简单。
将数据库日志记录设置为简单(但仅当您对数据库执行完全备份时!)。
要修剪数据库日志文件,请执行以下步骤:
获取数据库文件(MDF)和日志文件(LDF)的物理名称: 运行以下系统存储过程:
use <yourdatabasename>
exec sp_helpfile
此命令将返回各种信息,包括物理大小(size
列)以及数据库和日志文件的路径和名称(在filename
列中)。
从“filename”colunm记录文件的名称,不包括路径和文件扩展名(例如,如果文件名包含C:\sqldatabases\yourdatabase_data.mdf
,您要保存字符串yourdatabase_data
)
截断数据库并收缩数据库
以下SQL集将缩小数据库并truncate
日志文件。由&lt; ...&gt;包围的parma中的文件。请注意,您需要步骤1中的两个filename
值。
USE <yourdatabasename>
GO
BACKUP LOG <yourdatabasename> WITH TRUNCATE_ONLY
GO
DBCC SHRINKFILE (<yourdatabaselogfilename>, 1)
GO
DBCC SHRINKFILE (<yourdatabasedatafilename>, 1)
GO
exec sp_helpfile