sql2008删除log文件和清空日志的方法

[复制链接] |主动推送
查看49 | 回复0 | 2024-9-11 08:15:20 | 显示全部楼层 |阅读模式
数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQL Server删除日志文件的方法,供您参考,希望对您有所帮助。
    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。
1、删除LOG1.1 分离数据库
    分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。
004941re0e7rca22ayicic.png
   勾选删除连接
004942z8nja2zjdjcssejd.png
    分离后在数据库列表将看不到已分离的数据库。1.2 删除LOG文件
                   删除data目录下的log文件1.3 附加数据库
    附加的时候会提醒找不到log文件。


004942zpt6zjwpzkitpxi7.png
    删除数据库信息信息的ldf文件:
004942i1hdjjh1j9k8pjnn.png
    附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。1.4 也可以通过命令才完成以上的操作
use master;exec sp_detach_db @dbname='数据库名';exec sp_attach_single_file_db @dbname='数据库名',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.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可以使用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则