一、关于日志的基本知识:
    在 SQL Server 2000 和 SQL Server 2005 中,每个数据库都至少包含一个数据文件和一个事务日志文件。SQL Server 在该数据文件中以物理方式存储数据。事务日志文件存储您对 SQL Server 数据库执行的所有修改的详细信息,以及执行每个修改的事务的详细信息。由于事务完整性被视为 SQL Server 的一个基本而固有的特点,因此不能在 SQL Server 中关闭对事务详细信息的记录。
    (是不是说,日志是不可以被关闭的?证明一下:)
    可以尝试一下,将日志自动增长关闭。然后执行一下操作:
    1、修改现有表部分记录。 结果:可以修改,这个没问题,说明还有可用日志空间;
    2、导入大批量数据。  结果:导入失败,错误信息如下:

“正在复制到 [temp].[dbo].[车次到站时间_20090107] (错误)
数据流任务: 数据插入操作的最终提交已开始。(SQL Server 导入和导出向导)错误 0xc0202009: 数据流任务: 出现 OLE DB 错误。错误代码: 0x80004005。已获得 OLE DB 记录。源:“Microsoft SQL Native Client” Hresult: 0x80004005 说明:“数据库 'temp' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。”。
信息 0x402090e0: 数据流任务: 数据插入操作的最终提交已结束。
错误 0xc0047022: 数据流任务: 组件“目标 - 车次到站时间_20090107”(73)的 ProcessInput 方法失败,错误代码为 0xC0202009。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。
错误 0xc0047021: 数据流任务: 线程“WorkThread0”已退出,错误代码为 0xC0202009。”

可以看出,数据导入操作实际上是做为一个事务来执行的。但是由于日志空间不够,所以无法存储提交操作,所以执行失败。
     另外,如果日志空间关闭,你会发现数据导入速度超快。
   
   以上从2可以看出,日志是不能够被关闭的,如果关闭,会导致数据库操作失败。如果日志关闭以后仍旧能操作,这种情况是可能的,应该仅限于小量数据操作。

二、当生成新表后,数据库会分配新的空间。此时如果删除该表,发现数据库空间没有立即被释放出来。这是为什么呢?
    sql server既然已经为数据库分配了空间,即使你现在删除了一个表,并不会立即释放空间的。但是如果接着导入新的数据,发现新的数据并没有分配新的空间,而是利用上一次删除留下的空间。想想这么做有什么好处呢?(防止碎片过多?防止重复申请?)

当然如果删除表以后,希望立即释放空间,可以收缩数据库。

三、收缩数据库和收缩文件的区别:
    收缩数据库,是收缩所有文件;收缩文件,则可以选择收缩哪个文件(数据文件 or 日志文件)

四、当日志文件过大时,如果删除或减少日志所占空间。

方法1、当然收缩日志是一个方法。但是往往释放的空间有限。

方法2、( 1).清空日志
DUMP  TRANSACTION  库名  WITH  NO_LOG

(2).截断事务日志:
BACKUP LOG 库名 WITH NO_LOG

(3).收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)

方法3、a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库

转载于:https://www.cnblogs.com/peijihui/archive/2009/11/20/1606855.html

sql server日志占用空间过大的问题相关推荐

  1. sql server日志占用空间过大的问题清理日志文件

    一.关于日志的基本知识: 在 SQL Server 2000 和 SQL Server 2005 中,每个数据库都至少包含一个数据文件和一个事务日志文件.SQL Server 在该数据文件中以物理方式 ...

  2. 由于SQL Server日志文件过大导致C盘满了的解决方案

    参考链接:链接 由于数据库安装后,数据文件和日志文件一般都存放在C盘,所以时间久了,C盘很容易满,这时可以用上述链接里的第二种方法来给C盘释放空间,该方法可以反复使用. 刚才查了下数据库里的一个表,1 ...

  3. always on sql 收缩日志_sql server日志文件过大无法收缩的问题

    sql server日志达到了700G,就 用以下方法都不能成功收缩 第一种:执行命令 backup log aa with no_log 用管理工具右击数据库-任务-收缩-文件-日志 填写上收缩到多 ...

  4. SQL Server实例的十大安全注意事项

    SQL Server is one of the world's leading data platforms. It is being broadly used hosting millions o ...

  5. 使用SQL Server日志传送将SQL数据库移动到其他服务器

    As a SQL Server DBA, we are responsible for moving the customer SQL databases to other servers. Rece ...

  6. 清理SQL Server日志释放文件空间的终极方法

    清理SQL Server日志释放文件空间的终极方法 转自:http://www.cnblogs.com/dudu/archive/2013/04/10/3011416.html [问题场景]有一个数据 ...

  7. SQL Server 日志数据库清理办法

    更新一个SQL Server 日志数据库清理脚本,以备日后用到. USE [master] GO ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE WITH NO_ ...

  8. 什么是SQL Server日志传送?

    什么是SQL Server日志传送? (What is SQL Server log shipping?) SQL Server日志传送是一种涉及两个或多个SQL Server实例,并将事务日志文件从 ...

  9. 如何创建SQL Server日志传送

    In my last article, I show how to create Database Mirroring for high availability. This time, I will ...

最新文章

  1. 2019 ICPC全国邀请赛(西安)I. Cracking Password(序列检验,BSGS,细节题)
  2. 简单配置snmpd.conf
  3. android120 zhihuibeijing 开机页面
  4. eclipse开发javaweb项目中The superclass javax.servlet.http.HttpServlet was not found on the Java Build
  5. 2018蓝桥杯省赛---java---C---2(猴子分香蕉)
  6. 第九十三期:带你聊聊 Java 并发编程之线程基础
  7. 【机器学习】 - import cv2 opencv安装python
  8. jquery版相片墙(鼠标控制图片聚合和散开)
  9. 用计算机绘画教学反思,《电脑绘画》教学反思2篇
  10. jsp简介mysql_jsp+servlet+mysql简单实现用户登陆注册
  11. Linux下安装mysql后无法启动的解决方法
  12. 小白初解Linux基础相关
  13. CentOS7与CentOS6区别及特点
  14. 用python的OCR实现自动拍照搜题
  15. 剑指offer(专项突破版):数据结构与算法名企面试题精讲 刷题记录
  16. 构建CF卡Linux系统的几个常见难题
  17. PDF转成图片后不清晰怎么办呢?
  18. 利用开源工具搭一套汉英翻译系统(二):词对齐
  19. 最新wxid转扫一扫添加好友
  20. 操作系统笔记(一)——操作系统的定义及作用

热门文章

  1. 实现nginx上配置免费证书Let's Encrypt
  2. (原)使用mkl计算特征值和特征向量
  3. 第三个Sprint冲刺第八天(燃尽图)
  4. 一年计划-献给我已经逝去的青春(初出茅庐的小白)
  5. Exchange 2010 恢复误删除的邮箱账户及其邮箱
  6. android常见错误与问题
  7. RemoteFX原理简介
  8. 另类×××应用(三):不花一分钱,实现总部和多分支机构网络互联
  9. 机器学习关键的几门课程_互联网上每门机器学习课程,均按您的评论排名
  10. 数据结构的简要介绍:图形如何工作