sqlserver收缩日志的几种方式

 

[sql]

--参考   

压缩日志及数据库文件大小   

 

/*--特别注意   

  

请按步骤进行,未进行前面的步骤,请不要做后面的步骤   

否则可能损坏你的数据库.   

  

一般不建议做第4,6两步   

第4步不安全,有可能损坏数据库或丢失数据   

第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.   

--*/   

      

--下面的所有库名都指你要处理的数据库的库名   

  

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)   

      

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)   

a.分离数据库:   

企业管理器--服务器--数据库--右键--分离数据库   

  

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

  

c.附加数据库:   

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

  

此法将生成新的LOG,大小只有500多K   

  

或用代码:   

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。   

  

a.分离   

EXEC sp_detach_db @dbname = '库名'   

  

b.删除日志文件   

  

c.再附加   

EXEC sp_attach_single_file_db @dbname = '库名',   

@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLData库名.mdf'   

  

5.为了以后能自动收缩,做如下设置:   

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"   

  

--SQL语句设置方式:   

EXEC sp_dboption '库名', 'autoshrink', 'TRUE'   

  

6.如果想以后不让它日志增长得太大   

企业管理器--服务器--右键数据库--属性--事务日志   

--将文件增长限制为xM(x是你允许的最大数据文件大小)   

 

我采用的方式是 分离数据库 将log文件改名字

 

然后附加

 

EXEC sp_attach_single_file_db @dbname = '库名', @physname = 'c:Program FilesMicrosoft SQL ServerMSSQLData库名.mdf'

 

生成的Log文件500k左右

 

在2008中 上面的程序可能会有问题

    

08采用下面模式

 

[sql] 

--数据库名称为 test  

USE test  

   GO  

   ALTER DATABASE test SET RECOVERY SIMPLE WITH NO_WAIT  

   GO  

   ALTER DATABASE test SET RECOVERY SIMPLE     

   GO  

   USE test   

   GO  

--这里的2根据 select * from sysfiles 来查询 一般数据位1 日志为2  

 

   DBCC SHRINKFILE (2 , 11, TRUNCATEONLY)  

   GO  

   USE test  

   GO  

   ALTER DATABASE test SET RECOVERY FULL WITH NO_WAIT  

   GO  

   ALTER DATABASE test SET RECOVERY FULL    

   GO

sqlserver收缩日志的几种方式的更多相关文章

  1. 【转】python之配置日志的几种方式

    [转]python之配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用 ...

  2. sqlserver实现分页的几种方式

    sqlserver实现分页的几种方式 第一种:使用org.springframework.data.domain.Page来进行分页 package com.cellstrain.icell.repo ...

  3. Python 配置日志的几种方式

    Python配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: (1)使用Python代码显式的创建loggers,handlers和formatters并分别调用它们的配 ...

  4. 通过filebeat、logstash、rsyslog采集nginx日志的几种方式

    由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器.而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一.如何有效便捷的 ...

  5. Log4Net日志记录两种方式

     简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.     log4net是Ap ...

  6. 【转载】Sqlserver数据库备份的几种方式

    在实际的数据库Sqlserver的运维的过程中,很多时候我们需要做到数据的备份操作,可以做到定时备份,也可以进行手动数据库备份.在实际的过程中,有时候因业务需要备份出完整数据库,而有时候又因为实际业务 ...

  7. python之配置日志的三种方式

    以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileCo ...

  8. Python之配置日志的几种方式(logging模块)

    原文:https://blog.csdn.net/WZ18810463869/article/details/81147167 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Py ...

  9. python之配置日志的几种方式

    作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文 ...

随机推荐

  1. Qt控件使用汇总

    QTableWidget: //tab居中显示 QTabWidget::tab-bar { alignment: center; } //tab边框样式,边框颜色,前景色 QTabBar::tab { ...

  2. Kubernetes学习之路目录

    Kubernetes基础篇 环境说明 版本说明 系统环境 Centos 7.2 Kubernetes版本 v1.11.2 Docker版本 v18.09 Kubernetes学习之路(一)之概念和架构 ...

  3. django在admin后台注册自己创建的数据库表

    django在admin后台注册自己创建的数据库表,这样我们就可以在admin后台看到表结构信息,我们就可以在admin后台快速录入表记录信息 如果没有注册,那么你在登录django自带的admin的 ...

  4. Python 学习 第三篇:数组类型(列表、字典和元组)

    列表和字段都可以在原处进行修改,可以按照需求增长或缩短,并且可以包含任何类型的对象或被嵌套.列表和字典存储的是对象的引用,而不是拷贝. 一,列表 列表是有序的序列,每一个列表项的顺序是固定的,这使得列 ...

  5. 【ORACLE】oracle11g dg搭建

    --------------------------------每个节点和DG------------------------------------------------------------- ...

  6. effective c++ 笔记 (9-12)

    //---------------------------15/03/29---------------------------- //#9    绝不在构造和析构过程中调头virtual函数 { / ...

  7. vuex实践之路——笔记本应用(二)

    上一篇我们简单介绍了vuex在此项目中的作用. 这次来理一下项目的整体思路. main.js上次看过了,首先看App.vue文件 我们引入了Toolbar.vue,NodeList.vue,Edito ...

  8. 英特尔和 Valve* 将英特尔® Embree 光线追踪技术添加至全新 Steam* Audio 插件

    本文从英特尔® Embree 光线追踪技术着手,深入探讨英特尔与 Valve 合作带来的优势:一方面,开发人员使用英特尔高度优化的库创建场景,可以显著加快编译速度:另一方面,逼真的声效可以增强游戏性, ...

  9. PAT甲题题解-1024. Palindromic Number (25)-大数运算

    大数据加法给一个数num和最大迭代数k每次num=num+num的倒序,判断此时的num是否是回文数字,是则输出此时的数字和迭代次数如果k次结束还没找到回文数字,输出此时的数字和k 如果num一开始是 ...

  10. C++ 继承和派生介绍

    继承(inheritance)是软件重用的一种方式,程序员通过继承可以吸收已有类的数据和行为来创建新类,并可以添加新的数据和行为来增强类的功能.创建新类时,并不需要创建全新的数据和成员函数,我们可以指 ...