如何清除sql2008日志文件

如何清除sql2008日志文件,第1张

USE [master]

GO

ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE AFMS SET RECOVERY SIMPLE

GO

USE AFMS

GO

DBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY)

GO

USE [master]

GO

ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE AFMS SET RECOVERY FULL

GO

1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。

2、删除LOG文件

3、附加数据库,附加的时候会提醒找不到log文件。

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

也可以通过命令才完成以上的 *** 作:

use master;exec sp_detach_db @dbname='TestDB';exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10SQL2008\MSSQL\DATA\TestDBmdf'

在SQL Server 70和SQL Server2000中,可以用下面的命令查看: DBCC log ( {dbiddbname}, [, type={01234}] )参数:Dbid or dbname - 任一数据库的ID或名字type - 输出结果的类型:0 - 最少信息(operation, context, transaction id)1 - 更多信息(plus flags, tags, row length)2 - 非常详细的信息(plus object name, index name,page id, slot id)3 - 每种 *** 作的全部信息4 - 每种 *** 作的全部信息加上该事务的16进制信息默认 type = 0要查看MSATER数据库的事务日志可以用以下命令: DBCC log (master)释放日志空间1清空日志  DUMP TRANSACTION 库名 WITH NO_LOG 2截断事务日志:  BACKUP LOG 数据库名 WITH NO_LOG3收缩数据库文件(如果不压缩,数据库的文件不会减小  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了  也可以用SQL语句来完成  --收缩数据库  DBCC SHRINKDATABASE(客户资料)  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfiles  DBCC SHRINKFILE(1)4为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)  a分离数据库:  企业管理器--服务器--数据库--右键--分离数据库  b在我的电脑中删除LOG文件  c附加数据库:  企业管理器--服务器--数据库--右键--附加数据库  此法将生成新的LOG,大小只有500多K  或用代码:  下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。  a分离  E X E C sp_detach_db @dbname = 'pubs'  b删除日志文件  c再附加  E X E C sp_attach_single_file_db @dbname = 'pubs',  @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubsmdf'5为了以后能自动收缩,做如下设置:  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"  --SQL语句设置方式:  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'6如果想以后不让它日志增长得太大  企业管理器--服务器--右键数据库--属性--事务日志  --将文件增长限制为xM(x是你允许的最大数据文件大小)  --SQL语句的设置方式:  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)特别注意:  请按步骤进行,未进行前面的步骤,请不要做后面的步骤  否则可能损坏数据库  一般不建议做第4,6两步  第4步不安全,有可能损坏数据库或丢失数据  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复另外提供一种更简单的方法,建议大家使用。更简单的方法: 1。右建数据库属性窗口--故障还原模型--设为简单 2。右建数据库所有任务--收缩数据库 3。右建数据库属性窗口--故障还原模型--设为大容量日志记录

教你如何清除SQL日志

1.打开查询分析器,输入命令

DUMP TRANSACTION 数据库名 WITH NO_LOG

2再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

清除Log有两种方法:

1自动清除法

开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。

2手动清除法

执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:

dump transaction with truncate_only

dump transaction with no_log

通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会d出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。

以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。

清除后对数据库没有影响

以上就是关于如何清除sql2008日志文件全部的内容,包括:如何清除sql2008日志文件、怎么删除sql server 管理中的日志文件、如何查看sql2008数据库的事务日志文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9876849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存