惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
U
Unit 42
V
Visual Studio Blog
D
DataBreaches.Net
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
G
Google Developers Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
S
SegmentFault 最新的问题

博客园 - 李瑞

HART通讯协议及应用 数据库连接 Web.Config C#访问接口 ObjectDataSource 用法1 ObjectDataSource用法 Machine.config 和 Web.config sql语句大全 仪表销售管理软件需求分析 女人爱男人的七种方式 结婚不是吸毒房子不是毒品 为何一定要买房? Windows2000里如何禁止网页修改注册表 怎样用C#实现完整文档打印功能 C#程序调用外部程序 用visual c#获得计算机名称和ip地址 十四种系统故障的解决方法 C#入门教程(下) C#入门教程(中) C#入门教程(上)
清除Sqlserver数据库日志几种方法
李瑞 · 2006-05-09 · via 博客园 - 李瑞

 日志文件满而造成SQL数据库无法写入文件时,可用以下方法
方法1

启用SqlServer客户端工具“Sql查询分析器”,选择"Sql Server身份认证",输入服务器地址、数据库登录名及密码,最后在命令框内输入:
 
DECLARE @LogicalFileName sysname,
@NewSize INT

USE dbname  -- 要操作的数据库名
select  @LogicalFileName = 'dbname_log', --
日志文件名
@NewSize = 1  --
你想设定的日志文件的大小(M)
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
 
注:根据提示修改您所连接的数据库名与日志文件名后,按F5键执行就可以了

方法2

打开查询分析器,输入命令
DUMP TRANSACTION 
数据库名 WITH NO_LOG

方法3

打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M,直接输入这个数,确定就可以了。也可以用SQL语句来完成
  --收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
  DBCC SHRINKFILE(1)
方法4

该方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
1: 
删除LOG
分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2
:删除LOG文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500K

SQL方法:
    a.分离
     E X E C sp_detach_db @dbname = 'pubs'
  b.删除日志文件
  c.再附加
     E X E C sp_attach_single_file_db @dbname = 'pubs',
    @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
      为了以后能自动收缩,做如下设置:
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  --SQL语句设置方式:
  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'
方法5
截断事务日志,BACKUP LOG 数据库名 WITH NO_LOG

注意:如果以后,不想要它变大。
SQL2000
下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:alter database 数据库名 set recovery simple
SQL 2000中即故障恢复模型选择为简单模型,在开发数据库时常设置选项为True Auto shrink(自动收缩),定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% ,当文件大小没有超过其建立时的初始大小时不会缩减文件,缩减后的文件也必须大于或等于其初始大小。