K3数据库日志文件过大分析及解决方案V20要点Word格式.docx

上传人:b****0 文档编号:13181698 上传时间:2022-10-07 格式:DOCX 页数:22 大小:907.66KB
下载 相关 举报
K3数据库日志文件过大分析及解决方案V20要点Word格式.docx_第1页
第1页 / 共22页
K3数据库日志文件过大分析及解决方案V20要点Word格式.docx_第2页
第2页 / 共22页
K3数据库日志文件过大分析及解决方案V20要点Word格式.docx_第3页
第3页 / 共22页
K3数据库日志文件过大分析及解决方案V20要点Word格式.docx_第4页
第4页 / 共22页
K3数据库日志文件过大分析及解决方案V20要点Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

K3数据库日志文件过大分析及解决方案V20要点Word格式.docx

《K3数据库日志文件过大分析及解决方案V20要点Word格式.docx》由会员分享,可在线阅读,更多相关《K3数据库日志文件过大分析及解决方案V20要点Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

K3数据库日志文件过大分析及解决方案V20要点Word格式.docx

所有权利均予保留。

目    录

第一章 报错现象及分析

 一、报错现象

案例一、在进行帐套备份的时候提示以下错误,如图1.1所示:

图1.1

案例二、在进行单据录入的时候提示以下错误,如图1.2所示:

图1.2

点击确定后出现如下提示,如图1.3所示:

图1.3

后弹出单句录入界面为不可录入状态,点新增后仍然继续弹出错误提示。

 二、问题分析

问题的原因可能主要是由于统计,排序等操作做的太多,太频繁。

导致账套实体的事务日志的增长已超过当前的限制太小所致。

如果客户数据库的LOG文件过大,也会导致客户端运行速度变慢,严重时连一个客户端都进不去。

产生性能问题。

 三、关于日志文件

主要数据文件是数据库的起点,指向数据库中文件的其它部分。

每个数据库都有一个主要数据文件。

主要数据文件的推荐文件扩展名是.mdf。

日志文件包含恢复数据库所需的所有日志信息。

每个数据库必须至少有一个日志文件,但可以不止一个。

日志文件的推荐文件扩展名是.ldf。

日志文件增长:

可以按百分比或实际大小指定增长速度。

日志文件容量设置:

可以指定文件增长的最大值或不受限。

在 

SQL 

Server 

中,如果设置了自动增长功能,事务日志文件将会自动扩展。

一般情况下,在能够容纳两次事务日志截断之间发生的最大数量的事务时,事务日志的大小是稳定的,事务日志截断由检查点或者事务日志备份触发。

 

然而,在某些情况下,事务日志可能会变得非常大,以致用尽空间或变满。

通常,在事务日志文件占尽可用磁盘空间且不能再扩展时,除了出现此错误消息之外,SQL 

还可能因为缺少事务日志扩展空间而将数据库标记为 

SUSPECT。

另外,事务日志扩展可能导致下列情形:

1)、非常大的事务日志文件。

2)、 

事务可能会失败并可能开始回滚。

3)、 

事务可能会用很长时间才能完成。

4)、 

可能发生性能问题。

5)、 

可能发生阻塞现象。

分析事务日志扩展可能由于以下原因或情形而发生:

1)、未提交的事务 

2)、 

非常大的事务 

3)、操作:

DBCC 

DBREINDEX 

和 

CREATE 

INDEX 

4)、在从事务日志备份还原时 

客户端应用程序不处理所有结果 

6)、查询在事务日志完成扩展之前超时,您收到假的“Log 

Full”错误消息 

7)、 

未复制的事务

第二章 解决方案

 一、SQL2000

1、执行数据库分离附加。

概述:

该方法有一定的风险性,因为SQL 

SERVER的日志文件不是即时写入数据库主文件的,如过处理不当,可能会造成数据的损失。

1:

分离数据库 

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

2:

附加数据库 

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

此法生成新的LOG,大小只有500多K。

注意:

因为日志大到一定的程度,就无法进行备份,而该方法又存在一定的风险。

所以如果对数据要求特别高的话建议可以先收缩日志文件,进行完全备份。

之后再进行分离附加数据库的操作。

详细操作步骤:

首先点击开始菜单找到所有程序金蝶k3金蝶k3服务器配置工具帐套管理,确定帐套对应的数据库实体文件是那一个。

并且记录下该数据库实体名称。

如下图2.1所示:

图2.1

其次点击开始菜单找到所有程序MICROSOFTSQLSERVER企业管理器.详细见图2.2

图2.2

打开到企业管理器界面,展开到数据库:

如图2.3

图2.3

第一步,将问题账套实体进行数据分离。

在数据库列表中,可以看到K3对应的数据库实体,选中该数据库实体,点右键:

选择属性。

点击数据文件:

记住位置中的文件路径(该文件夹是我们数据库文件所保存的位置.)如图2.4

图2.4

再关掉属性框,回到该数据库实体中.进入SQLSERVER企业管理器进行分离。

SQLSERVER企业管理器-》MicroSQLServers-》SQLServer组-》(local)WindowsNT-》数据库-》帐套号-》所有任务-》分离数据库。

如图2.5.

图2.5

(注意该操作要保证没有客户端登陆的情况下做,否则,客户端后面做的数据,将无法保存.)

如果数据库状态中显示:

“使用本数据库的连接”不为0,则点旁边的“清除”。

如图2.6

图2.6

然后点确定:

此时,数据库列表中将没有了该数据库实体(图2.7)。

图2.7

打开此前记住的数据库文件所在文件夹:

第二步,删除问题账套实体的数据库日志文件。

找到该数据库实体名称所对应的日志文件:

扩展名为:

.ldf或_log.ldf,如图2.8:

把该日志文件剪切到其他文件夹(或者删除)。

因为稍后会生成一个新的日志文件,一般约500k左右。

注册帐套的时候需要使用到日志文件,如果剪切到其他的文件夹下了,以后还可以找回来。

如果客户对数据要求非常高。

不建议删除。

图2.8

确保数据库数据文件(扩展名为:

MDF)与日志文件(扩展名为:

LDF)不在同一个文件夹下。

第三步,将问题帐套数据实体重新附加回SQL数据库中。

步骤:

回到企业管理器(控制台)上,到数据库项上点右键所有任务附加数据库

图2.9

出现界面如图所示:

图2.10

选择数据文件(扩展名为.MDF)

图2.11

确定后如下图所示:

图2.12

点确定:

出现下图所示提示:

图2.13

继续确定:

最后,数据库正常附加。

图2.14

此时可以看到新的日志文件只有504k.。

图2.15

第四步,将问题帐套数据实体重新注册。

最后您需要进入帐套管理,把帐套注册回来。

就可以了。

先运行反注册帐套。

如下图:

图2.16

之后选择注册帐套。

图2.17

注意选择身份验证方式:

图2.18

2、数据库收缩操作。

概述:

1、修改故障模型方式在数据库上点右键->

属性->

选项->

故障恢复-模型-选择-简单模型。

2、重新启动数据库服务。

3、收缩日志文件企业管理器->

数据库实体->

所有任务->

收缩数据库->

收缩文件。

详细操作步骤:

如下图2.19所示:

图2.19

其次点击开始菜单找到所有程序MICROSOFTSQLSERVER企业管理器.详细见图2.20

图2.20

如图2.21

图2.21

第一步,修改问题账套实体故障还原模式。

在对应的数据库实体上点右键->

故障还原->

模型->

选择:

简单模型。

如图2.22所示。

图2.22

第二步,重新启动数据库服务。

右健单击【我的电脑】,选择管理->

服务和应用程序->

服务。

在列表中选择MSSQLSERVER服务。

如图2.23所示。

图2.23

第三步,收缩数据库日志文件。

在数据库的企业管理器中,右击该数据库实体选择所有任务中收缩数据库,如图2.24所示。

图2.24

选择文件打开如下界面,选择日志文件,然后输入收缩到的数值。

确定。

如图2.25所示:

图2.25

分离附加日志文件和收缩日志文件效果都是一样的,都起到了减小日志文件的作用。

做完以上操作之后,您就可以正常的使用k3了。

如果以后,不想要它变大。

有以下3种方法。

1)、在数据库上点右键->

故障恢复模型->

选择->

也可以使用命令:

alterdatabase数据库名setrecoverysimple

2)、企业管理器--服务器--右键数据库--属性--选项--选择"

自动收缩"

3)、右建数据库属性窗口--故障还原模型--设为大容量日志记录

 二、SQL2005

 1、分离附加数据库

其次点击开始菜单找到所有程序MICROSOFTSQLSERVER2005SQLServerManagermentStudio如下图3.1所示.

图3.1

输入用户名密码,登陆。

展开到数据库。

如图3.2所示

图3.2

点击文件:

记住位置中的文件路径(该文件夹是我们数据库文件所保存的位置.)如图3.3所示

图3.3

再关掉属性框,回到该数据库实体中.

进入SQLSERVERManagermentStudio中进行分离。

数据库->

任务->

分离。

如图3.4所示

图3.4

弹出如图3.5所示界面,点确定后,会提示分离成功。

图3.5

因为稍后会生成一个新的日志文件。

回到ManagermentStudio(控制台)上,到数据库上点右键附加。

在弹出的界面,单击添加,找到对应的数据库实体文件。

如图3.6所示,后单击确定。

 2、收缩数据库

收缩数据库的步骤同2000中是一样的,详细请参考本文2.1.2。

在此不做赘述。

先将数据进行备份(所有帐套)

1.在SQL企业管理器-locanlwindowsnt-数据库-账套号-属性-事务日志

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1