如何清空sql数据库的日志文件

如何清除SQL数据库的日志文件?

SQLSERVER数据库日志占用大量空间下面介绍三种清除无用数据库日志文件的方法。
方法一:

1BACKUPLOGdatabase_nameWITHNO_LOG2然后打开企业管理器-右键点击要压缩的数据库-所有任务-收缩数据库-收缩文件-选择日志文件-选择收缩模式下Shrinktoxxm,这里它会允许减少到最小数m,直接输入这个数并确认。
方法二:自动设置检查点并截断记录一般情况下,SQL数据库截断并不能大幅度减小数据库的大小。
它的主要功能是减少记录的大小。
此过程应定期执行,以防止数据库寄存器变得太大1、设置数据库模式为简单模式:打开并控制SQLEnterpriseManager在控制台根目录下,单击MicrosoftSQLServer-->SQLServer组-->双击打开服务器你的-->双击打开数据库目录-->选择你的数据库名称(例如用户数据库cwbase1)-->然后右键选择属性-->选择选择选项-->错误恢复模式选择Simple,然后点击确定保存2、右键当前数据库,可以看到所有任务中缩小的数据库。
一般情况下默认设置不需要修改,直接点击确定即可3、收缩数据库后,建议和第一点一样将你的数据库属性重置为标准模式,因为记录往往是数据库的重要依据一些异常情况下的恢复。
方法三:通过SQL收缩日志将代码复制到查询分析器中,然后修改其中三个参数(数据库名、日志文件名)。
和目标日志文件大小),运行SETNOCOUNTONDECLARE@LogicalFileNamesysname,@MaxMinutesINT,@NewSizeINTUSEtablename--要运行的数据库名称SELECT@LogicalFileName='tablename_log',--日志文件名@MaxMinutes=10,--Limitontimeallowedtowraplog.@NewSize=1--注册您要调整文件大小(M)--设置/初始化DECLARE@OriginalSizeintSELECT@OriginalSize=sizeFROMsysfilesWHEREname=@LogicalFileNameSELECT'OriginalSizeof'+db_name()+'LOGis'+CONVERT(VARCHAR(30),@OriginalSize)+'8Kpagesor'+CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+'MB'FROMsysfilesWHEREname=@LogicalFileNameCREATETABLEDummyTrans(DummyColumnchar(8000)notnull)DECLARE@CounterINT,@StartTimeDATETIME,@TruncLogVARCHAR(255)SELECT@StartTime=GETDATE(),@TruncLog='BACKUPLOG'+db_name()+'WITHTRUNCATE_ONLY'DBCCSHRINKFILE(@LogicalFileName,@NewSize)EXEC(@TruncLog)--Wrapthelogifnecessary.WHILE@MaxMinutes>DATEIFF(mi,@StartTime,GETDATE())--timehasnotexpiredAND@OriginalSize=(SELECTsizeFROMsysfilesWHEREname=@LogicalFile名称(AND(@OriginalSize*8/1024)>@NewSizeBEGIN--Outerloop.SELECT@Counter=0WHILE((@Counter<@OriginalSize/16)AND)@Counter<50000>

)BEGIN--updateINSERTDummyTransVALUES('FillLog')DELETEDummyTransSELECT@Counter=@Counter+1ENDEXEC(@TruncLog)ENDSELECT'FinalSizeof'+db_name()+'LOGis'+CONVERT(VARCHAR(30),size)+'8Kpagesor'+CONVERT(VAR)CHAR(30),(size*8/1024))+'MB'FROMsysfilesWHEREname=@LogicalFileNameDROPTABLEDummyTransSETNOCOUNTOFF方法4:删除日志文件。
这种方法存在一定的风险,因为sqlserver的日志文件如果处理不当,不会立即写入主数据库文件,从而导致数据丢失。
1、操作前请断开所有数据库连接。
2、分离数据库:企业管理器->服务器->数据库->cwbase1->右键->分离数据库,cwbase1数据库被删除,但数据文件和日志文件保留。
3、删除实际日志文件,删除实际日志文件,然后附加数据库:企业管理器->服务器->数据库->右键->附加数据库。
此方法仅创建具有更大大小的新记录。
50万起。
注意:建议使用第一种方法。
运行前,请确保所有操作人员均已退出系统并与数据库断开连接。
在执行上述操作之前,请务必备份数据!1.sqlserver2005清除日志语句dump数据库名不带_数据库名logbackuplogwithno_logdbccshrinkdatabase(数据库名)

SQLServer2000数据库的事务日志文件过大,如何将其缩小

受得云开月明,我花了一上午的时间,链接到了高级博客,终于到了1MB日志数据库sqlserver2008,分享给大家#方法步骤1.将SQL语句的执行改为“简单模式”2、拒绝数据库3.SQL执行语句并更改为“完整模式”##步骤1:执行SQL语句并将其更改为“简单模式”USINGSlowXWebDB(更改为数据库中的名称)SETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASESlowXWebDB(更改为数据库名称)SETRECOVERYSIMPLE-更改为简单模式GO##第二步:数据库工作界面截图及工作假设:数据库名称:SlowXWebDB日志文件名称:SlowXWebDB_Log

脚手架数据库太大,无法清除必须**1选择数据库,右键功能-Shrink-File注意:文件类型选择为log**

2.下面会显示,最小是0MB,能测到的最小只能达到1MB,不过我已经够了哈哈*。
*

3.日志文件**

##第3步:将SQL语句的执行更改为“完整模式”使用[master]GOALTERDATABASESlowXWebDB(应避免更改数据库名称)SETRECOVERYFULLWITHNO_WAITGOALTERDATABASEdatebaseName(改成数据库名称,应该避免)SETRECVERYFULL-返回完整模式GO==最后别忘了检查数据库是否正常使用可以==网页文本

SQLServer压缩日志及数据库文件大小

CLEARLOG

DUMPTRANSACTION数据库名称WithNO_LOG

截断事务日志

BACKUPLOG数据库名称WithNO_LOG

>

收缩数据库文件(如果数据库文件没有压缩,则文件不会收缩)

在企业管理器中,右键单击要压缩的数据库文件。
选择日志文件并选择收缩模式,当达到XXM时,将给出最小收缩次数,只需输入此数字即可确认。

选择数据文件并在收缩模式下选择收缩至XXM即可。
这个数字也用SQL语句来完成数据库。
SHRINK

DBCCSHRINKDATABASE(CUSTOMERINFO)

通过此语句可以查询指定数据文件的文件号:

select*fromsysfiles

DBCCSHRINKFILE()

将日志文件减少到最大(如果是SQL,这一步只能在查询分析器中完成)

分离数据库执行:

右键单击“数据库”以分离企业管理器服务器数据库

b删除“我的电脑”中的日志文件

c其他数据库:

右键EnterpriseManagerServer数据库附加数据库

此方法只会生成大小大于K的新日志

aDetach

删除博客文件

【c然后添加

【@physname=c:/ProgramFiles/Microsoft

以后要自动收缩,请进行以下设置

SQL语句设置方法:

如果想阻止日后日志变得太大

右键EnterpriseManager服务器数据库属性事务日志执行