MSSQL数据库日志清理实例详解

日志文件满而造成SQL数据库无法写入文件时,可用很多种方法:

打开SQL查询分析器 => 连接数据库所在服务器
可以使用以下语句清理数据库日志:
–对mssql事务日志变大的处理 清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG

–截断事务日志
BACKUP LOG 数据库名 WITH NO_LOG

–收缩数据库
DBCC SHRINKDATABASE(数据库名)

另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,

会造成数据的损失。
1、备份数据库(以防万一)
2、分离数据库 企业管理器->服务器->数据库->右键->分离数据库
3、删除LOG文件
4、附加数据库 企业管理器->服务器->右键->附加数据库
此法生成新的LOG,大小只有500多K。

如果以后,不想要它变大。
SQL2000下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:
alter database 数据库名 set recovery simple

v如果我们手工来清除可能有时会忘记了,下面我给一个自动清除的实例。

自动清理方法:同样是利用sql server代理服务,执行自动作业。

  打开企业管理器,进入"管理"-"sql server代理服务"-"作业",在右侧窗口点击右键,选择"新建作

业"。"常规"选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。

  转到"步骤"选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库

,在下边命令中填写以下命令:

  DUMP TRANSACTION 数据库名称 WITH NO_LOG

  DBCC SHRINKFILE(数据库日志文件名,1)

  上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意

,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志

的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。 如果需要维护多个数据库,用上述

方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。

  在"调度"选项卡中,类似备份的维护计划,填写调度周期,即定期清理的周期

时间: 2024-08-31 14:45:28

MSSQL数据库日志清理实例详解的相关文章

MySql数据库AdoDB函数实例详解(1/3)

1.GetAll方法我们可以使用GetAll方法代替Execute()方法,该方法返回的结果为一个二维关联数据,这样可以使用foreach或for循环语句处理,非常方便.另外,GetAll取得的数组与Smarty模板的foreach配合得非常好. 我们一起看下面的脚本例子:  代码如下 复制代码 <?php include_once("libs/adodb/adodb.inc.php"); // 创建一个mysql连接实例对象 $db = NewADOConnection(&qu

收缩MSSQL数据库日志的大小方法详解

分为两个步骤: 步骤一 截断数据库中的日志内容  代码如下 复制代码 BACKUP LOG 数据库名称 WITH TRUNCATE_ONLY 步骤二 强制数据库紧缩其大小  代码如下 复制代码 DBCC SHRINKDATABASE ( 数据库名称 , TRUNCATEONLY ) 这两个步骤需求使用查询分析器来执行.关于其具体的意义,请参考MSSQL数据库附带的 Transact-SQL的协助文件. 还有一种方法就是在MSSQL企业管理器的数据库属性>>选项中,将毛病还原>>模型

php 自定义错误日志实例详解_php技巧

php 自定义错误日志  项目中需要对定义错误日志及时处理, 那么就需要修改自定义错误日志的输出方式(写日志.发邮件.发短信)   一. register_shutdown_function(array('phperror','shutdown_function')); //定义PHP程序执行完成后执行的函数 函数可实现当程序执行完成后执行的函数,其功能为可实现程序执行完成的后续操作.程序在运行的时候可能存在执行超时,或强制关闭等情况,但这种情况下默认的提示是非常不友好的,如果使用registe

SQLServer数据库从高版本降级到低版本实例详解_MsSql

SQLServer数据库从高版本降级到低版本实例详解 由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接[分离/附加]或者[备份/还原]数据库,在不同版本之间存放.往往就会遇到版本不兼容的问题.前几天遇到了从我本机2008R2上备份的一个数据库还原到2008上面时报错: 从运行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度

Android编程操作嵌入式关系型SQLite数据库实例详解_Android

本文实例分析了Android编程操作嵌入式关系型SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite特点 1.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是SQLite存储数据时不区分类型 例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字段声明为布尔型,我们也可以存入浮点数. 除非是主键被定义为Integer,这时只能存储64位整数 2.创建数据库的表时可以不指定数据类型,例如: 复制代码 代码如下: CREATE TAB

PHP数据库表操作的封装类及用法实例详解_php技巧

本文实例讲述了PHP数据库表操作的封装类及用法.分享给大家供大家参考,具体如下: 数据库表结构: CREATE TABLE `test_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(45) NOT NULL, `nickname` varchar(45) NOT NULL, `r` tinyint(4) NOT NULL, PRIMARY KEY

thinkPHP数据库增删改查操作方法实例详解_php实例

本文实例讲述了thinkPHP数据库增删改查操作方法.分享给大家供大家参考,具体如下: thinkphp对数据库增删改查进行了封装操作,使得使用更加方便,但是不一定灵活. 可以用封装的用,需要写sql,可以执行sql. 1.原始的 $Model = new Model(); // 实例化一个model对象 没有对应任何数据表 $insert_sql = "INSERT INTO sh_wxuser_collection (user_id,store_id,good_id,addtime) VAL

Android仿微信清理内存图表动画(解决surfaceView屏幕闪烁问题)demo实例详解_Android

最近接了一个项目其中有功能要实现一个清理内存,要求和微信的效果一样.于是想到用surfaceView而不是继承view.下面小编给大家解析下实现思路. surfaceView是为了解决频繁绘制动画产生了闪烁,而采用了双缓冲机制,即A.B两个缓冲轮流显示在画布上,同时,使用不当,同样容易产生闪烁,这是由于A.B中有一个缓冲没有改变. 在我写这个view的时候就遇到了这个问题,研究了好久终于解决. 首先说一下思路: 微信清理缓存的动画是: 一个圆环不停的转动,同时中间有文字显示-->加载完成后,出现

SQLServer数据库从高版本降级到低版本实例详解

SQLServer数据库从高版本降级到低版本实例详解 由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接[分离/附加]或者[备份/还原]数据库,在不同版本之间存放.往往就会遇到版本不兼容的问题.前几天遇到了从我本机2008R2上备份的一个数据库还原到2008上面时报错: 从运行版本10.50.2500(2008R2是10.50)和10.00.1600(2008是10.00)中可以看出这个版本不兼容问题,大部分情况下,从低版本升级到高版本,只要不是跨度