截断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一个新的空日志文件。 在你检查完一切正常后,你可以删除重命名的日志文件。
您可能不应该将其用于生产数据库。