SQLserver数据库日志满了怎么处理(sqlserver事务日志已满,怎么处理)

SQLserver数据库日志满了怎么处理(sqlserver事务日志已满,怎么处理),第1张

一、删除日志文件

二、手动收缩。 *** 作如下:

1、在数据库页面中选择“选项”;

2、在打开的选项页面中,将恢复模式更改为“简单”;

3、然后点击下方的“确定”;

4、然后在数据库文件和文件组汇总,将文件类型更改为“日志”;

5、在下方的收缩 *** 作中,选择“将文件收缩到1MB”即可,也可以根据需求自行设置文件收缩大小。

2截断事务日志:BACKUP LOG 数据库名WITH NO_LOG3收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select from sysfilesDBCC SHRINKFILE(1) 代码如下复制代码backup, log, 模式-- 第一步:清空日志DUMP TRANSACTION [YZGA] WITH NO_LOG-- 第二步:截断事务日志BACKUP LOG [YZGA] WITH NO_LOG-- 第三步:收缩数据库尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。 删除日志方法二1、进入企业管理器,选中数据库,比如it,所有任务->分离数据库。2、如果数据库正在连接使用,要先点清除,才可以选确定。3、到数据库文件的存放目录,将it_logLDF文件删除,不放心可以先拷到别的地方。4、进入企业管理器,数据库->所有任务->附加数据库。5、选择it_DataMDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

一、简单方法

–SQL Server收缩方法

1、右键数据库→属性→选项→故障还原模型→设为简单→确定;

2、右键数据库→所有任务→收缩数据库→确定;

3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。

二、复杂方法

–SQL Server日志清空方法

在查询分析器中顺序执行以下三步,其中 databasename 为你的数据库文件名

1清空日志:DUMP TRANSACTION databasename WITH NO_LOG

2截断事务日志:BACKUP LOG databasename WITH NO_LOG

3收缩数据库:DBCC SHRINKDATABASE(databasename)

(BACKUP LOG databasename WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志。

第一步只是将非活动的事务日志截断,并没有收缩数据库,只有进行第二项 *** 作后,数据库才进行事务日志的清理工作,将截断的非活动事务删除,并将事务日志文件收缩到适当尺寸。)

3、收缩数据库文件(如果不压缩,数据库的文件不会减小)

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

–选择数据文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

收缩数据库完成后,建议将您的数据库属性重新设置为标准模式, *** 作方法同简单方法里第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据

也可以用SQL语句来完成

–收缩数据库

DBCC SHRINKDATABASE(数据库名)

–收缩指定数据文件,1是文件号,可以通过这个语句查询到:

select from sysfiles DBCC SHRINKFILE(1)

4、为了最大化的缩小日志文件(如果是sql 70,这步只能在查询分析器中进行)

在使用 SQL Server 时,数据库里的日志文件会越来越大,需要把它删除。 我先把这个数据库分离,在数据库上点右键 -> 所有任务 -> 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL Server 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于小型的应用,对于大型的系统就要找其它方法了。)

a分离数据库

企业管理器–服务器–数据库–右键–分离数据库

b在我的电脑中删除LOG文件

c附加数据库

企业管理器–服务器–数据库–右键–附加数据库

教你如何清除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”命令。

数据库组成:sqlserver数据库是由2个文件组成的,一个是数据文件,一个日志文件;数据文件保存系统所有数据,日志文件保存的是对数据库所有的修改细节;通常情况下日志文件的增长速度比数据文件要快得多,一段时间后,我们就需要对日志文件进行清理,否则一旦日志文件超过磁盘的可用空间大小,就会导致数据库服务无法正常进行,所有对数据库的 *** 作都会失败。查看组成数据库2个文件的位置:,进入企业管理器,找到要查看的数据库,鼠标右键点击d出菜单,选择“属性”。

数据文件和日志文件:显示出数据文件位置,大小,和增长规则等,同理,你可以切换到“事务日志”页面查看日志文件的相关信息。

一、清除日志:

1、选择数据“DJABC”,鼠标右键d出菜单,选择“所有任务”81“分离数据库”。

2、分离数据库:

如果有其他程序当前正连接到本数据库,请点击“清除”按钮清除所有连接,然后按下

“确定”按钮即可完成对数据库的分离。

3、删除数据库的日志文件:数据库一旦被分离后,你可以直接删除数据库的日志文件。

4、附加数据库:依次选择菜单“数据库”81“所有任务”81“附加数据库”,系统会d出附加数据库窗口。

5、选择数据文件和附加数据库名称,完成后按下确定即可将刚刚分离的数据库重新加到当前sqlserver服务器上。

6、所有完成后,系统重新创建日志文件,新创建的日志文件大小为1K,等到以后长到很大时,再执行上面的日志清除过程即可。

二、备份

在企业管理器中SQL服务器-Northwind-右键-所有任务-备份数据库,然后在图形界面下进行相应的 *** 作,这是非常简和安全的。

以上就是关于SQLserver数据库日志满了怎么处理(sqlserver事务日志已满,怎么处理)全部的内容,包括:SQLserver数据库日志满了怎么处理(sqlserver事务日志已满,怎么处理)、Sqlserver数据库日志太大如何快速删除、sql server怎么删除数据库日志等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存