方法一: 
1、打开查询分析器,输入命令 
BACKUP LOG database_name WITH NO_LOG 
2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。

方法二: 
设置检查点,自动截断日志

  一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存


2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定 
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据

方法三:通过SQL收缩日志

把代码复制到查询分析器里,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可

SET NOCOUNT ON 
DECLARE @LogicalFileName sysname, 
@MaxMinutes INT, 
@NewSize INT

USE tablename -- 要操作的数据库名 
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名 
@MaxMinutes = 10, -- Limit on time allowed to wrap log. 
@NewSize = 1 -- 你想设定的日志文件的大小(M)

-- Setup / initialize 
DECLARE @OriginalSize int 
SELECT @OriginalSize = size 
FROM sysfiles 
WHERE name = @LogicalFileName 
SELECT 'Original Size of ' + db_name() + ' LOG is ' + 
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + 
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' 
FROM sysfiles 
WHERE name = @LogicalFileName 
CREATE TABLE DummyTrans 
(DummyColumn char (8000) not null)

DECLARE @Counter INT, 
@StartTime DATETIME, 
@TruncLog VARCHAR(255) 
SELECT @StartTime = GETDATE(), 
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

DBCC SHRINKFILE (@LogicalFileName, @NewSize) 
EXEC (@TruncLog) 
-- Wrap the log if necessary. 
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired 
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) 
AND (@OriginalSize * 8 /1024) > @NewSize 
BEGIN -- Outer loop. 
SELECT @Counter = 0 
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000)) 
BEGIN -- update 
INSERT DummyTrans VALUES ('Fill Log') 
DELETE DummyTrans 
SELECT @Counter = @Counter + 1 
END 
EXEC (@TruncLog) 
END 
SELECT 'Final Size of ' + db_name() + ' LOG is ' + 
CONVERT(VARCHAR(30),size) + ' 8K pages or ' + 
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB' 
FROM sysfiles 
WHERE name = @LogicalFileName 
DROP TABLE DummyTrans 
SET NOCOUNT OFF

方法四:删除日志文件。

此方法有一定的风险性,因为sql server的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。1、操作前请断开所有数据库连接。 
2、分离数据库 
分离数据库:企业管理器->服务器->数据库->cwbase1->右键->分离数据库 
分离后,cwbase1数据库被删除,但保留了数据文件和日志文件 
3、删除log物理文件 
删除LOG物理文件,然后附加数据库: 企业管理器->服务器->数据库->右键->附加数据库 
此法生成新的log,大小只有500多k。

注意:建议使用第一种方法。操作前请确保所有操作员都已经推出系统,断开数据库的连接。

以上操作前,请务必做好数据备份!

1.sql server 2005 清除日志语句 

dump transaction 数据库名称 with no_log 
backup log 数据库名称 with no_log 
dbcc shrinkdatabase(数据库名称)

2.sql server 2008 清除日志语句

sp_dboption 数据库名称, "trunc. log on chkpt.", true 
checkpoint 
sp_dboption 数据库名称, "autoshrink", true

清除SQLSERVER数据库日志文件的方法: 

1、先将这个数据库卸载: 
EXEC sp_detach_db 'database_name', 'true' 
然后将该数据库所对应的Log文件删掉; 
最后,再将这个数据库注册到系统里面:

EXEC sp_attach_db @dbname = N'database_name', 
@filename1 = N'e:\mssql7\data\database_name_data.mdf'

2、数据库上点右键-所有任务-收缩数据库-选择收缩文件为LOG 。

3、清除SQLSERVER数据库日志的方法:

*******下面是转发的邮件*****

The shrinking of log files is not immediate in SQL Server 7.0. The 
shrinking of log files does not occur until the active portion of the 
log moves. As updates are performed on the database, the shrink 
operation occurs at checkpoints or transaction log backups. Each log 
file is marked with the target_percent for the shrink operation. Each 
subsequent log backup or log truncation attempts to shrink the file to 
bring its size as close to the target_percent as possible. Because a log 
file can be shrunk only to a virtual log file boundary, it may not be 
possible to shrink a log file to a size smaller than the size of a 
virtual log file even if it is not being used. Please refer to SQL Book 
Online for the details.

RESOLUTION

Below script will help to shrink the log file immediately, pls keep it 
running for 3~4 minutes and then stop it manually.

\* Run "select fileid, name,filename from ..sysfiles" to get 
the fileid which you want to shrink *\

use 
go 
dbcc shrinkfile(fileid,notruncate) 
dbcc shrinkfile(fileid,truncateonly) 
create table t1 (char1 char(4000)) 
go 
declare @i int 
select @i = 0 
while (1 = 1) 
begin 
while (@i < 100) 
begin 
insert into t1 values ('a') select @i = @i +1 
end 
truncate table t1 
backup log with truncate_only 
end 
go

*****转发内容结束*****

SQLServer数据库日志清理 清除sqlserver2005日志 

有时候当系统运行时间比较长的时候,我们把备份的数据库还原的时候发现,数据库中数据文件和日志文件变的好大,特别是日志文件。现在给大家介绍如何清理SQLServer数据库日志;有两种方法如下:

方法一:手动清除sqlserver2005日志

1.右键在清除日志的数据库,如“TestDB”,点击[新建查询(Q)] 
2.输入以下SQL语句,其中“TestDB”是数据库名称 
DUMP TRANSACTION TestDB WITH NO_LOG 
3.执行该SQL,成功后继续以下操作 
4.右键该数据库节点,点击[任务(T)] -> [收缩(S)] -> [文件(F)] 
5.在弹出的“收缩文件”对话框中,将“文件类型(T)”选为“日志”,将“收缩操作”选中“在释放未使用的空间前重新组织页(O)” 
6.在“将文件收缩到(K)”文本框中输入后面提示的最小大小的数值,点击[确定]即可。

方法二:用工具软件SqlServer日志清除专家3.0,可对Sql Server 6.5到Sql Server 2005的各种版本的数据库日志的清除;其使用方法非常简单;SqlServer 日志清除专家绿色版 V3.5下载地址:

下载地址 http://www.jb51.net/softs/21840.html

方法一操作起来相对麻烦一些,可是可以定制日志的大小,清理日志后其相应的数据库数据文件在也会变小,数据也不会丢失;方法二操作比较方便,可以把数据库中的日志文件清理到1M大小;

原文链接:http://www.jb51.net/article/30811.htm

转载于:https://www.cnblogs.com/xuhongfei/archive/2013/04/03/2997444.html

SQL Server 数据库清除日志的方法相关推荐

  1. SQL Server数据库收缩日志的方法

    SQL Server数据库收缩日志的方法: 方法一 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大. 1.设置数据库模式为 ...

  2. 正文内容 SQL Server 数据库清除日志

    SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件 方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_L ...

  3. asp教程连接sql server数据库教程二种方法

    asp教程连接sql server数据库教程二种方法  ,sql server ole db连接方法:,本人链接sql2012已经成功,想可以帮助大家 本教程主要是讲了asp与mssql server ...

  4. SQL Server数据库六种数据移动方法

    1. 通过工具DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然, ...

  5. 编写SQL Server数据库对象脚本的方法

    In this article, we will explore various ways for scripting SQL Server database objects. 在本文中,我们将探索编 ...

  6. sql server数据库导入导出bcp方法

    微软的官方文档: http://msdn.microsoft.com/zh-cn/library/ms162802.aspx 以下示例均在sql server 2005上测试过,完全ok可用的. 1. ...

  7. sql server数据库事务日志已满请参阅log_reuse_wait_desc怎么解决?

    数据库使用时,莫名其妙出现关于事务日志已满的报错.具体报错如下: 数据库中的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sys.databases中的log_reuse_wait_desc ...

  8. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

  9. sql server数据库Log文件特别大怎么处理

    之前发现服务器上的硬盘空间爆满,导致程序无法运行, 经调查发现, 产生了,ERRORLOG文件.并且sql server数据库的日志文件特别大. 由于默认情况下,SQL Server 会保存 7 个 ...

最新文章

  1. 沙场秋点兵---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十七)...
  2. [原创]软件产品的质量
  3. 怎么用python自动注册_python selenium自动化(二)自动化注册流程
  4. 【我解C语言面试题系列】013 以单词为单位的翻转字符串
  5. Py之pytest-shutil:Python库之pytest-shutil简介、安装、使用方法之详细攻略
  6. redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
  7. Taro+react开发(1)--简介
  8. 触发器创建删除等操作
  9. TeeChart.NET 2022.4.8 专业版-Crack
  10. linux的ib网卡驱动安装,linux安装IB网卡(mellanox)驱动
  11. 王强 河南大学计算机学院,王强-河南大学生命科学学院
  12. 2019年最实用的导航栏设计实践和案例分析全解
  13. 2022-7 刷题记录
  14. 施密特-卡塞格林望远镜
  15. python基础-廖雪峰
  16. Web前端开发的思考与经验----五年工作经验
  17. 因子类投资模型框架简介(待续)
  18. Chrome主题下载网站安装简单教程
  19. 华为云06FusionAccess
  20. 2018 BMCV 《BAM: Bottleneck Attention Module》Pytorch实现

热门文章

  1. rancher 外置 mysql_rancher使用外部数据库无法正常使用
  2. java property异常_Java常见的异常和解决的办法
  3. img标签 文件不存在_HTML常用标签
  4. Paper8:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
  5. c++中的public,protected,private
  6. 确认和回调_【短线回调,确认突破点】
  7. node 获取表单数据 为空_数据结构与算法(python)单向循环链表
  8. 扩展typeof来判断js变量的类型
  9. git用户文档1 — git基础
  10. 2019攻防世界web新手区