关于MSSQL数据库日志满的快速解决办法

解决|数据|数据库

先提供一种复杂的方法压缩日志及数据库文件如下:

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.分离
  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'
5.为了以后能自动收缩,做如下设置:
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  --SQL语句设置方式:
  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'
6.如果想以后不让它日志增长得太大
  企业管理器--服务器--右键数据库--属性--事务日志
   --将文件增长限制为xM(x是你允许的最大数据文件大小)
  --SQL语句的设置方式:
  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
特别注意:
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  否则可能损坏你的数据库.
  一般不建议做第4,6两步
  第4步不安全,有可能损坏数据库或丢失数据
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.

另外提供一种更简单的方法,本人屡试不爽,建议大家使用。
更简单的方法:
  1。右建数据库属性窗口--故障还原模型--设为简单
  2。右建数据库所有任务--收缩数据库
  3。右建数据库属性窗口--故障还原模型--设为大容量日志记录

时间: 2024-11-01 05:46:58

关于MSSQL数据库日志满的快速解决办法的相关文章

关于Sql server数据库日志满的快速解决办法

server|解决|数据|数据库 先提供一种复杂的方法压缩日志及数据库文件如下: 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在

PHP读取mssql json数据中文乱码的解决办法_php实例

PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. 解决办法如下: 这样,sql server 2008中的中文就可以在网页正常显示了. 如果要将中文正常插入到sql server 2008中,还要加入一条代码:$query = iconv("utf-8", "gbk//ignore", $query);//为了解决中文

BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法_javascript技巧

 bootstrap 图标icon符号图标glyphicons不正常显示解决办法如下所示: 分享供各位参考: 1.在ff/http:的地址栏中输入"about:config",即进入配置界面. 2.进入后,搜索"security.fileuri.strict_origin_policy",这是该值应该是true. 3.双击该项,其值自动变为false,即可. 4.修改后,再刷新遇到问题的页面,即可看到正常显示的图标了. 探究问题原因: 1.由于ff/http:一个安

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

iOS9与XCode7中不能使用http连接的快速解决办法_IOS

在Xcode7.0及以上版本中编译iOS APP时,默认会使用iOS9的一项新特性,使得所有http连接被禁用,项目里使用的API没有https支持,就悲剧了.差了官方文档,有这么一段话 App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accident

Android中findViewById返回为空null的快速解决办法_Android

[问题描述] Android中如下代码: LinearLayout groupPollingAddress = (LinearLayout)findViewById(R.layout.fragment_field_list); 返回为null. [解决过程] 1.参考: android – getActivity().findViewById(R.layout.contacts_list_view) returns null – Stack Overflow AndroidGUI27中findV

Ajax提交Form表单页面仍会刷新问题的快速解决办法_AJAX相关

搞了半天原来点击提交按钮 少加了个type="button"  原来是  <form >  <button id="sub" />   </form>  结果怎么弄都会刷新页面,加上就好了  PS:form 表单中存在button时ajax提交后自动刷新问题 //在记一个坑(刚学前台,不是很懂,项目中自己给自己挖了个坑,哈哈...) <form class="form-horizontal"> &l

Java enum关键字不识别的快速解决办法_java

从别人那儿拷贝过来的myeclipse java工程,打开一看标红了一大片,仔细一看,原来是不识别enum关键字,这就有点尴尬了. 我自己重新建了一个java工程,测试了下,假如我在新建工程的时候选择JavaSE-1.6: 是识别enum关键字的,但是假如我选择第二个或者默认的jdk1.8,那就不行了,后来发现java compiler compliance level中的最高上限也才1.7,所以,两种解决方法(原理是一样的),一是将compiler compliance level设置到1.5

AndroidGUI27中findViewById返回null的快速解决办法_Android

 在用Eclipse进行Android的界面开发,通过findViewById试图获取界面元素对象时,该方法有时候返回null,造成这种情况主要有以下两种情形. 第一种情形是最普通的. 比如main.xml如下,其中有一个ListView,其id为lv_contactbook <?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.