当前位置: 首页 > 编程日记 > 正文

sql server日志占用空间过大的问题

一、关于日志的基本知识:
    在 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

相关文章:

svn 回归某一个特定版本

svn回归某一个特定版本: 先用svn log查看回归版本的版本号 version 然后用命令 svn up -r version

NA-NP-IE系列实验7:CDP

实验7:CDP<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1. 实验目的通过本实验&#xff0c;读者可以掌握如下技能&#xff1a;&#xff08;1&#xff09; 查找CDP 邻居&#xff08;2&#xff09; 熟悉CDP 的配置2. 实验拓扑图…

吴恩达“官宣”荣升准爸爸~

整理 | 琥珀 出品 | AI 科技大本营 “我们的最新‘成果’ Baby Ng 即将诞生&#xff01;2019 年 2 月见面&#xff01;” 1 月 17 日&#xff08;北京时间 1 月 18 日凌晨&#xff09;&#xff0c;人生赢家吴恩达冷不丁在推特上晒出了妻子孕期中的照片&#xff08;如仙子一般漂…

分布式版本控制系统 Git 教程

简介 Git 是什么&#xff1f; Git 是一个开源的分布式版本控制系统。 什么是版本控制&#xff1f; 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 什么是分布式版本控制系统&#xff1f; 介绍分布式版本控制系统前&#xff0c;有…

Chrome插件HostAdmin

进入Chrome webstore&#xff1a;https://chrome.google.com/webstore/category/home 搜索 hostadmin&#xff0c;可以搜索到Pidgin的HostAdmin插件&#xff0c;直接安装即可。

设计模式——6适配器模式(Adapter)

6、适配器模式&#xff08;Adapter&#xff09;适配器模式将某个类的接口转换成客户端期望的另一个接口表示&#xff0c;目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类&#xff1a;类的适配器模式、对象的适配器模式、接口的适配器模式。 核心思想就是&#x…

中国人口将迎来负增长,这是旷视们的机会

作者 | 阿司匹林 出品 | AI科技大本营 1 月 16 日&#xff0c;人工智能创业公司旷视科技在北京举办机器人战略发布会&#xff0c;发布了旷视机器人战略的核心产品——“河图&#xff08;Hetu&#xff09;”&#xff0c;用智能网络协同系统来改造传统的物流仓储行业。同时旷视还…

就看你怎么去运作

从前&#xff0c;有一个地方叫美国。有一个老头有三个儿子&#xff0c;其中大儿子、二儿子都在城里工作&#xff0c;他和小儿子相依为命在乡下生活。这一天&#xff0c;来了一个人&#xff0c;对他说&#xff1a;“我能不能把您的小儿子带到城里去工作&#xff1f;”老头说&…

安装EBS前期检查工具 - RDA - Health Check / Validation Engine Guide

参考文档 RDA - Health Check / Validation Engine Guide (文档 ID 250262.1) 先下载 RDA 补丁包。 Download HCVE/RDA安装RDA : Example:tar xvf rda.tarorgunzip rda.tar.gztar xvf rda.tarorunzip rda.zipNote:Each rda package (.zip, .tar, and .tar.gz) will cre…

啥是佩奇?Python告诉你

作者 | 丁彦君来源 | 恋习Python昨天&#xff0c;被《啥是佩奇》这支广告片刷屏了。佩奇明明是个喜剧角色&#xff0c;却看哭了所有人。▼《啥是佩奇》&#xff1f;&#xff1f;&#xff1f;快过年了在农村爷爷给城里的小孙子打电话小孙子说想要“佩奇”为了满足小孙子的愿望爷…

Linux中bashrc河bash_profile

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile 调用 ~/.bashrc 每个用户…

arcgis server 开发

不知道有多少人采用 adf 做开发&#xff0c;不知为什么&#xff0c;感觉在web 上用他老不爽 javascript api http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jssamples_start.htm silverlight api http://resources.esri.com/help/9.3/arcgis…

详解谷歌最强NLP模型BERT(理论+实战)

作者&#xff1a;李理&#xff0c;环信人工智能研发中心vp&#xff0c;十多年自然语言处理和人工智能研发经验。主持研发过多款智能硬件的问答和对话系统&#xff0c;负责环信中文语义分析开放平台和环信智能机器人的设计与研发。 本文是作者正在编写的《深度学习理论与实战》的…

rz 和 sz

想从windows上传文件到linux中&#xff0c;还是rz / sz 可以用yum安装&#xff1a; yum install lrzsz -y 不能直接yum install rz 或者 yum install sz&#xff0c;只能用lrzsz来安装&#xff0c;-y表示之后的判断一律选择yes 使用rz从windows上传文件到linux&#xff0c;刚…

SMS系列之六:利用SMS实现操作系统的补丁分发

利用SMS实现操作系统的补丁分发杜 飞微软的每个操作系统都会不断的推出新的补丁&#xff0c;如Win2000的补丁达到SP4&#xff0c;XP的补丁达到SP3&#xff0c;Win2003也达到了SP2。那么做为一个IT管理员对员工的操作系统及时进行补丁升级也是一个日常工作。今天咱们就来看一下如…

201621123075作业12-流与文件

1. 本周学习总结 1.1 以你喜欢的方式&#xff08;思维导图或其他&#xff09;归纳总结多流与文件相关内容。 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车。 2.1 简述如何使用流与文件改造你的系统。文件中数据的格式如何&#xff…

【Junit】BeforeClass、Before、After、AfterClass

在JUnit4中&#xff0c;添加了Annotations来标记测试。 测试方法由Test 标记说明。使用标记的好处是你不用将所有测试方法命名为testFoo()这种形式。 执行顺序&#xff1a; BeforeClass > Before > After > AfterClass 使用Before、After标签组合在每个测试方法前后都…

COCO 2018 Keypoint冠军算法解读

作者简介&#xff1a;王志成&#xff0c;清华大学计算机系硕士&#xff0c;现为旷视科技研究员&#xff0c;人体姿态估计研究负责人&#xff0c;COCO Keypoint 冠军算法 CPN、MSPN 共同第一作者&#xff0c;研究方向涵盖人体姿态估计与跟踪、人体动作识别&#xff0c;并在上述方…

linux下IPython的安装方法

按照下面的步骤依次执行即可。在linux环境里&#xff1a;wget http://ipython.scipy.org/dist/ipython-0.8.4.tar.gz说明&#xff1a;在官网下载ipython最新的tar包。tar zxvf ipython-0.8.4.tar.gz说明&#xff1a;解压下载的包。cd ipython-0.8.4说明&#xff1a;进入到解压后…

201621123057 《Java程序设计》第12周学习总结

1. 本周学习总结 1.1 以你喜欢的方式&#xff08;思维导图或其他&#xff09;归纳总结多流与文件相关内容。 2. 面向系统综合设计-图书馆管理系统或购物车 使用流与文件改造你的图书馆管理系统或购物车。 2.1 简述如何使用流与文件改造你的系统。文件中数据的格式如何&#xff…

对 makefile 中 .SECONDARY 的学习体会

上例子 LIBSfoo.gao bar.gao .INTERMEDIATE:$(LIBS) .SECONDARY:bar.gao all: $(LIBS) #pass foo.gao: echo $ touch $ bar.gao: echo $ touch $ make --dry-run 的结果: foo.gao touch foo.gao bar.gao touch bar.gao #pass rm foo.gao 可见&#xff0c;SECONDARY 确实起到…

yuml 类图设计

http://yuml.me/diagram/nofunky/class/draw 使用yuml这个工具进行类图设计&#xff1a; // Cool Class Diagram [Engine :lib/core]<>Use[App :lib/core/model] [Engine :lib/core]<>Use[Hook :lib/core/] [Engine :lib/core]<>Use[Dsl :lib/core/] [Engine…

特斯拉再裁员3000多人,马斯克称别无选择

编译整理 | 一一 出品 | AI科技大本营 去年 6 月&#xff0c;为了缩减开支&#xff0c;特斯拉宣布裁员 9%&#xff0c;涉及员工超 4000 人&#xff0c;但在不久又开启了一轮积极的招聘狂潮。现在&#xff0c;这艘大船再度面临风暴不堪重负&#xff0c;裁员潮说来就来。 北京…

一个表对应另一个表中多个主键的查询方法(把一个表当成两个表用)

表t_RecordPID(主键) SendUserID(发送人) ReceiveUserID(接收人) 1 1 2 2 2 3 3 3 1 表t_UserPID(主键) UserName(用户名) 1 张三 2 …

Keras 最新《面向小数据集构建图像分类模型》

本文地址&#xff1a;http://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html 本文作者&#xff1a;Francois Chollet 按照官方的文章实现过程有一些坑&#xff0c;彻底理解代码细节实现&#xff0c;理解keras的api具体使用方法也有…

Python处理XML文件

用代码记录下&#xff1a; import xml.dom.minidomtry:f open(filename)dom xml.dom.minidom.parseString(f.read()) finally:f.close()if dom ! None:root dom.documentElementfor element in root.getElementsByTagName("bean"):for prop in element.getElement…

李彦宏首次公布24字百度愿景,要做最懂用户的公司

编辑 | 一一 出品 | AI科技大本营 近日&#xff0c;李彦宏发布内部信并首次公布了 24 字百度愿景&#xff1a;成为最懂用户&#xff0c;并能帮助人们成长的全球顶级高科技公司。李彦宏表示&#xff0c;“这 24 个字将上承新使命、下展公司“夯实移动基础、决胜 AI 时代”的整体…

HP c3000/c7000 blade switch GBE2c 初始配置

端口概述 Port 1-16 是内联刀片的downlink口 Port 17-18 是switch互联用&#xff0c;默认是disable的 Port 19是给Blade On-board Administrator用 Port 20-24 是uplink口 连到交换机的Console口 To access the switch locally: 1. Connect the switch DB-9 serial connector, …

Travis CI : 最小的分布式系统(一)

(本文翻译自http://www.paperplanes.de/2013/10/18/the-smallest-distributed-system.html&#xff0c;由金斌_jinbin 翻译) Travis CI一开始仅仅是个想法&#xff0c;在当时甚至还有些理想化。在这个项目启动之前&#xff0c;开源社区还没有一个可用的持续集成系统。 随着作为…

Windows 7时代即将终结!

作者 | 屠敏 转载自CSDN&#xff08;ID:CSDNnews&#xff09; 2009 年诞生的 Windows 7 终究没能超过 Windows XP 13 岁的寿命。 2015 年 1 月 14 日&#xff0c;微软宣布结束对 Windows 7 操作系统的第一阶梯主流支持&#xff0c;同时为了给用户过渡升级的时间&#xff0c;…