某客户的数据库(sqlserver)补黑客攻击,所有字段内容里都被注入了脚本语言,只能用sql语句批量修正数据了,修正完毕后,发现日志文件竟然超过了100M,而实际数据都不到30M,只能想办法来压缩数据库的日志了。
企业管理器里压缩日志的方法:
1、打开企业管理器
2、打开要处理的数据库
3、点击最上面菜单>工具>SQL查询分析器,打开SQL查询分析器
4、在输入窗口里面输入:
Code:
BACKUP LOG [数据库名] WITH NO_LOG
DUMP TRANSACTION [数据库名] WITH NO_LOG
DBCC SHRINKDATABASE([数据库名])
点击绿色的小三角(或按F5)执行查询,等状态栏提示处理完成即可!
在程序中压缩日志的方法:
压缩数据库日志
--1.备份日志:
exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
--2.截断事务日志:
exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
exec('DBCC SHRINKDATABASE(['+@dbname+'])')