zoukankan      html  css  js  c++  java
  • SQLServer:删除log文件和清空日志的方法

        数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQL Server删除日志文件的方法,供您参考,希望对您有所帮助。

        数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。

    1、删除LOG

    1.1 分离数据库

        分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。

     

       勾选删除连接

        分离后在数据库列表将看不到已分离的数据库。

    1.2 删除LOG文件

    1.3 附加数据库

        附加的时候会提醒找不到log文件。

        删除数据库信息信息的ldf文件:

        附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

    1.4 也可以通过命令才完成以上的操作

    use master;
    exec sp_detach_db @dbname='数据库名';
    exec sp_attach_single_file_db @dbname='数据库名',@physname='D:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATATestDB.mdf'

    Sp_detach_db:分离数据库;

    sp_attach_single_file_db:附加单个数据库文件;在上述代码中只附加了数据文件,而未附加日志文件,言下之意就是删除了日志文件。

    该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。

    2. 清空日志

    DUMP TRANSACTION 数据库名 WITH NO_LOG

    3. 收缩数据库文件

    DBCC SHRINKFILE ('TestDB_log',1)

    SQL Server中“数据收缩”详解

    4. 截断事务日志

    BACKUP LOG TestDB WITH NO_LOG

    该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。

  • 相关阅读:
    卫星列表
    常见28个问题处理方法
    Dr.COM EPortal 认证
    Linux命令--chroot
    2020 最好的Linux网络监控工具
    auditctl(8)
    ElasticSearch 7.1.1 集群环境搭建
    ElasticSearch 常用 curl 命令
    利用Java的动态编译、动态加载结合EasyRules实现业务规则的动态性
    java根据数据库自动生成JavaBean或pojo
  • 原文地址:https://www.cnblogs.com/rainman/p/3469225.html
Copyright © 2011-2022 走看看