sql收缩数据库日志的几种办法

在SQLServer2000/2005中,可以通过SQL快速压缩日志文件,

方法一:

--BigData的名字数据库DUMPTRANSACTIONBIGDATAWITHNO_LOGBACKUPLOGBIGDATAWITHNO_LOGDBCCSHRINKDATABASE(BigData)

执行上述语句即可快速将日志文件压缩到1M。

但是上述语句的前两行在SQLServer2008下无法执行。

第一行提示“InCorrectsyntaxnearthekeyword'TRANSACTION”。

第二行提示“One此语句不支持一个或多个选项(no_log)。
请检查文档以获取支持的选项。

第三行可以执行。
但日志文件中没有任何变化。

原来SQLServer2008不再支持DUMPTRANSACTION和BACKUPLOGWITHNO_LOG

sqlServer2005的说明中明确指出,包含一条DUMP语句是为了向后兼容。
MicrosoftSQLServer的更高版本将删除此功能。
请避免在新的开发工作中使用此功能,并开始修改当前使用此功能的应用程序。
使用备份。

SQLServer2008说明:BACKUPLOGWITHNO_LOG和WITHTRUNCATE_ONLY选项已被覆盖。
使用完全恢复模式或批量日志恢复模式时,如果必须删除数据库中的日志备份系列,请切换到简单恢复模式。
有关详细信息,请参阅从完整恢复模型或批量记录恢复模型切换的注意事项。

方法2:

使用DB_NAMEsp_dboptionDB_NAME,"trunc.logonchkpt.",truecheckpointsp_dboptionDB_NAME,"autoshrink",true方法三:(请提前备份文件!!)

断开数据库连接。

删除日志文件。

附加数据库并选择RemoveLogFile,此时SQLServer会自动重新创建512K的日志文件。

方法四:

UseBigData;GOBACKUPLOGDATABASENAMETODISK='d:\test.bak'--缩小损坏的日志文件到1MB.DBCCSHRINKFILE(Bigdata_Log,1);GO

SQLSERVER2000数据库日志文件过大如何解决

收缩数据库一般情况下,收缩数据库并不能大幅度减少。
主要功能是收缩日志大小设置数据库模式为简单模式:打开SQL企业管理器,点击控制台根目录下的MicrosoftSQLServer-->SQLServer组-->双击打开服务器-->双击-单击打开数据库目录。
-->选择您的数据库名称(例如论坛数据库Forum)-->然后右键单击并选择属性-->选择选项-->在错误恢复模式中选择“简单”,然后按确定保存2.右键单击当前数据库查看所有任务要收缩数据库,通常不需要像第一点一样调整默认设置,因为日志经常会在一些异常情况下失败。
它是恢复数据库的重要基础。