在发给同事之前,我需要清空一个LDF文件。如何强制SQL Server截断日志?
当前回答
如果我没记错的话……在查询分析器或等效程序中:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
其他回答
在管理工作室:
不要在运行环境中这样做,但是为了确保你尽可能地缩小你的开发数据库: 右键单击数据库,选择Properties,然后选择Options。 确保“恢复模式”设置为“简单”,而不是“完整” 单击OK 再次右键单击数据库,选择“任务->收缩->文件” 更改文件类型为“日志” 单击OK。
或者,SQL来做它:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
裁判:http://msdn.microsoft.com/en-us/library/ms189493.aspx
使用truncate_only和DBCC shrinkfile命令备份日志logname
如果我没记错的话……在查询分析器或等效程序中:
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)
ALTER DATABASE ExampleDB SET RECOVERY FULL
这将我的14GB日志文件减少到1MB。
对于SQL 2008,您可以将日志备份到null设备:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
然后使用DBCC SHRINKFILE对日志文件进行截断。
推荐文章
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- Python日志记录不输出任何东西
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 多语句表值函数vs内联表值函数
- NOLOCK提示在SELECT语句中的作用
- SQL OVER()子句-它什么时候有用,为什么有用?
- IE9是否支持console.log,它是一个真实的功能吗?
- 检查SQL Server登录是否已经存在
- 我如何使用ROW_NUMBER()?
- 如何检查表上持有哪些锁
- SQL Server数据库备份恢复到低版本
- SQL Server:过滤sp_who2的输出