我需要在发送给同事之前清空LDF文件.如何强制SQL Server截断日志?
在管理工作室:
不要在实时环境中执行此操作,但要确保尽可能地缩小dev db:
右键单击数据库Properties
,然后选择Options
.
确保"恢复模型"设置为"简单",而不是"完整"
单击确定
再次右键单击数据库,选择Tasks
- > Shrink
- >Files
将文件类型更改为"日志"
单击确定.
或者,SQL来做:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE DBCC SHRINKFILE (mydatabase_Log, 1)
参考:http://msdn.microsoft.com/en-us/library/ms189493.aspx
如果我记得很清楚...在查询分析器或等效的:
BACKUP LOG databasename WITH TRUNCATE_ONLY DBCC SHRINKFILE ( databasename_Log, 1)
对于SQL Server 2008,命令为:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
这将我的14GB日志文件减少到1MB.
对于SQL 2008,您可以将日志备份到nul
设备:
BACKUP LOG [databaseName] TO DISK = 'nul:' WITH STATS = 10
然后DBCC SHRINKFILE
用来截断日志文件.