截断SQL Server日志文件的命令是什么?

在发送给同事之前,我需要清空一个LDF文件。 如何强制SQL Server截断日志?

如果我记得很好…在查询分析器或同等学历:

BACKUP LOG databasename WITH TRUNCATE_ONLY DBCC SHRINKFILE ( databasename_Log, 1) 

在pipe理工作室:

  • 不要在实时环境中这样做,但要确保尽可能地缩小开发数据库:
    • 右键单击数据库,select属性,然后select。
    • 确保“恢复模式”设置为“简单”,而不是“完整”
    • 点击确定
  • 再次右键单击数据库,select任务 – >缩小文件
  • 将文件types更改为“日志”
  • 点击确定。

或者,SQL来做到这一点:

  ALTER DATABASE mydatabase SET RECOVERY SIMPLE DBCC SHRINKFILE (mydatabase_Log, 1) 

参考: http : //msdn.microsoft.com/en-us/library/ms189493.aspx

对于SQL Server 2008,该命令是:

 ALTER DATABASE ExampleDB SET RECOVERY SIMPLE DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY) 

这将我的14GB日志文件减less到1MB。

对于SQL 2008,您可以将日志备份到nul设备:

 BACKUP LOG [databaseName] TO DISK = 'nul:' WITH STATS = 10 

然后使用DBCC SHRINKFILE截断日志文件。

备份日志logname,后跟truncate_only dbcc shrinkfile命令

另一个选项是通过Management Studio分离数据库。 然后只需删除日志文件,或者重命名并稍后删除。

返回到Management Studio再次附加数据库。 在附加窗口中从文件列表中删除日志文件。

DB附加并创build一个新的空日志文件。 在你检查完一切正常后,你可以删除重命名的日志文件。

您可能不应该将其用于生产数据库。