如何清理SQL Server中的事务日志.docx
《如何清理SQL Server中的事务日志.docx》由会员分享,可在线阅读,更多相关《如何清理SQL Server中的事务日志.docx(16页珍藏版)》请在冰点文库上搜索。
如何清理SQLServer中的事务日志
如何清理SQLServer中的
事务日志
目录
第一章如何手动清理数据库的事务日志3
1.1运行SQLServer2000中的工具“查询分析器”3
1.2加载SQL语句4
1.3执行SQL语句6
第二章如何自动清理数据库的事务日志8
2.1运行SQLServer2000“企业管理器”中的“SQLServer代理”8
2.2新建一个“作业”9
2.3设定“作业”的执行内容10
2.4设定“作业”的执行周期13
注:
⏹SQLServer数据库在使用过程中,日志文件会不断增大,日志文件一旦过大会造成系统性能的明显下降,故,在使用过程中,按照下列方法可以清理日志文件。
⏹本文中的SQLServer数据库以某项目上正在使用的数据库为例。
该数据库进行大量的数据交换,事务日志文件平均每天增加5~10Mb。
⏹本文中所有的操作均在服务器端进行,操作系统为MicrosoftWindows2000Server,SQLServer的版本为MicrosoftSQLServer2000EnterpriseEdition。
数据库有两个,名称为JDDW3800和JDDW3800Para。
⏹本文中针对数据库的清理操作仅针对数据库JDDW3800,而不包括JDDW3800Para。
如果需要清理数据库JDDW3800Para,请仿照本文进行操作。
⏹在本文中,清理数据库JDDW3800的SQL文件名称为“LogShrink_JDDW3800.sql”,清理数据库JDDW3800Para的SQL文件名称为“LogShrink_JDDW3800Para.sql”。
⏹在本文中SQLServer实例的名称为“SPRINY”。
第一章如何手动清理数据库的事务日志
手动清理事务日志的总体步骤如下:
1)运行SQLServer2000中的工具“查询分析器”。
2)加载SQL语句
3)执行SQL语句
手动清理事务日志的详细步骤如下:
1.1运行SQLServer2000中的工具“查询分析器”
步骤一:
运行“开始”->“程序”->“MicrosoftSQLServer”->“查询分析器”。
步骤二:
弹出窗口如下。
在上侧的“SQLServer”下拉框中选择要连接的SQLServer(本例中为“SPRINY”),在下侧输入用户名密码(本例中用户密码均为“JDDW_manager”)。
点击“确定”按钮。
步骤三:
登陆成功后,弹出如下窗口,在窗口上方工具栏中的下拉框中确认已经连接到数据库“JDDW3800”。
(注:
如需要连接到数据库JDDW3800Para,请在下拉框中选择JDDW3800Para一项)
1.2加载SQL语句
步骤一:
在窗口的菜单中,选择“文件”->“打开”,打开“打开查询文件”对话框。
步骤二:
选择SQL文件“LogShrink_JDDW3800.sql”,该文件所在的文件夹路径为“E:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data”。
点击“打开”按钮。
(注:
如需要对数据库JDDW3800Para的事务日志进行清理,请打开SQL文件“LogShrink_JDDW3800.sql”,执行里面的SQL语句。
该文件所在的文件夹路径为“E:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data”。
)
步骤三:
执行收缩事务日志的SQL语句会显示在打开的子窗口中。
其中橘红色方框选中的内容,是需要收缩的事务日志文件,该文件名称必需和数据库的事务日志文件名称保持一致。
方框后面紧跟的参数为收缩后日志文件的大小。
1.3执行SQL语句
步骤一:
确认语句无误后,点击工具栏上绿色的三角形按钮,执行该SQL语句。
步骤二:
SQL语句成功之行后,在下图的橘红色方框内会看到相关执行结果
至此,数据库JDDW3800的事务日志文件已被手动清除。
建议每一个月,手动清理一次事务日志。
第二章如何自动清理数据库的事务日志
自动清理事务日志的总体步骤如下:
1)运行SQLServer2000“企业管理器”中的“SQLServer代理”
2)新建一个“作业”
3)设定“作业”的执行内容
4)设定“作业”的执行周期
自动清理事务日志的功能是依靠SQLServer2000自身的“SQLServer代理”来完成的,“SQLServer代理”会根据要求,定期自动对数据库进行维护操作,执行SQL语句。
所以,为了实现自动清理事务日志的功能,我们可以在“SQLServer代理”中建议一个“作业”,设定该“作业”每一个月自动清理一次事务日志,从而实现数据库维护的简化。
自动清理事务日志的详细步骤如下:
2.1运行SQLServer2000“企业管理器”中的“SQLServer代理”
步骤一:
运行“开始”->“程序”->“MicrosoftSQLServer”->“企业管理器”。
步骤二:
在“企业管理器”的主窗口左侧的“控制台根目录”视图中依次选择“MicrosoftSQLServers”->“SQLServer组”->“SPRINY”->“管理”->“SQLServer代理”->“作业”。
2.2新建一个“作业”
步骤一:
使用鼠标右键点击右侧窗口,弹出快捷菜单。
步骤二:
在上图中弹出的快捷菜单中选择“新建作业”。
弹出“创建作业属性”对话框,输入作业的名称“自动清理JDDW3800的事务日志”。
2.3设定“作业”的执行内容
步骤一:
在“创建作业属性”对话框中选择“步骤”标签页,如下图。
步骤二:
点击“新建”按钮,弹出“创建作业步骤”对话框。
在“步骤名”一栏中给该步骤命名为“清理事务日志”
步骤三:
在“数据库”一栏中选择数据库为“JDDW3800”。
(注:
如需要连接到数据库JDDW3800Para,请在下拉框中选择JDDW3800Para一项)
步骤四:
点击“打开”按钮,弹出“打开TSQL文件”对话框。
选择SQL文件“LogShrink_JDDW3800.sql”,该文件所在的文件夹路径为“E:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data”。
点击“打开”按钮,回到“创建作业步骤”对话框。
(注:
如需要对数据库JDDW3800Para的事务日志进行清理,请打开SQL文件“LogShrink_JDDW3800.sql”,执行里面的SQL语句。
该文件所在的文件夹路径为“E:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data”。
)
步骤五:
如同1.2章节中的步骤三,执行收缩事务日志的SQL语句会显示在“命令”文本框中。
其中橘红色方框选中的内容,是需要收缩的事务日志文件,该文件名称必需和数据库的事务日志文件名称保持一致。
方框后面紧跟的参数为收缩后日志文件的大小。
步骤六:
确认无误后,点击上图中的“确定”按钮,回到“创建作业属性”对话框。
2.4设定“作业”的执行周期
步骤一:
在“创建作业属性”对话框中选择“调度”标签页,如下图。
步骤二:
点击“新建调度”按钮,弹出“新建作业调度”对话框。
在“名称”框中输入作业名称“定期清理事务日志”。
步骤三:
选择上图中的“反复出现”单选钮,然后点击“更改”按钮,弹出“编辑反复出现的作业调度”对话框。
设定作业调度的执行周期为每月一次发生在1号的2点05分,开始日期起当前日期,并设定为“无结束日期”。
点击“确定”按钮,回到“创建作业调度”对话框。
步骤四:
在“创建作业调度”对话框中点击“确定”按钮,回到“创建作业属性”对话框。
在列表中可以看到已经建立好的调度。
点击“确定”按钮完成作业属性的设置。
步骤五:
此时,在右侧的窗口中可以看到刚刚创建好的作业。
双击改作业可以对上述设定进行更改。
(按照同样的操作过程,可以定义针对数据库JDDW3800Para的清理的作业)
至此,自动清理事务日志的功能设置完成。