| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 安全365社区 |
安全365
收藏本站
设为首页
会员登录:
站内搜索: 新闻中心 系统安全 网络安全 安全技术 下载中心
| 安全技术首页 | 技术研究 | 技术应用 | 数据安全 | 企业专区 |
如何清除SQL server日志
如何清除SQL server日志
作者:佚名 文章来源:本站原创 点击数: 更新时间:2008-4-17 10:03:30

    这个问题很多人受到了困扰,日志动辄十几个G

  问:SQLServer中的事务日志应该怎样压缩和删除?

  答:具体方法有3种。

  方法一:

  第一步:

  backup log database_name with no_log或者 backup log database_name with truncate_only

  -- no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。

  第二步:

  1.收缩特定数据库的所有数据和日志文件,执行:

  dbcc shrinkdatabase (database_name,[,target_percent])

  -- database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。

  2.收缩一次一个特定数据库中的数据或日志文件,执行

  dbcc shrinkfile(file_id,[,target_size])

  -- file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.

  方法二:

  第一步:

  先备份整个数据库以备不测 。

  第二步:

  备份结束后,在Query Analyzer中执行如下的语句:

  exec sp_detach_db yourDBName,true

  --卸除这个DB在MSSQL中的注册信息

  第三步:

  到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录

  第四步:

  在Query Analyzer中执行如下的语句:

  exec sp_attach_single_file_db yourDBName,'d:\mssql\data\yourDBName_data.mdf '

  --以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。

  方法三:

  1. 进入企业管理器,选中数据库,比如demo

  2. 所有任务->分离数据库

  3. 到数据库文件的存放目录,将MuOnline_log.LDF文件删除,以防万一,你可以拷出去

  4. 企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

  5. 记得数据库重新附加后用户要重新设置一下。

  如果以后,不想要它变大:

  SQL2000下使用:

  在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

或用SQL语句

  alter database 数据库名 set recovery simple

文章录入:小张    责任编辑:小张 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    SQL Server安全支招
    SQL Server 安全检查列表
    怎样把Oracle查询转换为
    怎样把Oracle查询转换为
    理解和使用aix的日志系统
    Apache日志解读
    也谈终端方式登录的日志
    如何找到事件日志中最旧
    如何检索已添加到事件日
    如何计算某个词在日志文
    站长邮箱:webmaster@anquan365.com
    联系电话:86-10-67634029 点击这里给我发消息

    Copyright © 2006-2008 www.anquan365.com 北京华安普特网络科技有限公司 版权所有