
正文
sqlserver2008收缩日志,sql2008数据库收缩日志
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
MSSQL数据库日志的压缩与清除技巧
可以通过直接删除log文件和清空日志在清除数据库日志 使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了。
我客户的sql server每天都会产生4,500M的log日志,每天都清除一下,非常不便。有没有办法实现不产生log日志呢?我分析了一下客户产生log日志的原因,并且做了相应测试。
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。
BACKUP LOG 数据库名称 WITH TRUNCATE_ONLY 步骤二 强制数据库压缩其大小 DBCC SHRINKDATABASE ( 数据库名称 , TRUNCATEONLY )这两个步骤需要使用查询分析器来执行。
DBCC SHRINKDATABASE(dbName)注意,在SQL 2008之后的版本以上方法无效,需将数据库设为简单模式后再进行收缩。
就算不再使用日志,它依然会占据一定的空间。因此在维护时,还需要对交易日志进行压缩。压缩交易日志的方法是删除非活动记录,从而减少日志文件所占用的物理硬盘空间。
相关问答
Q1: 数据库日志文件过大如何收缩?
1、手动收缩日志文件,做过日志备份之后,日志被截断,大量空间被标记为“可复用”。一般情况下,这时候就可以进行“收缩文件”操作,以将“可复用”的空间从日志文件中移出,从而减小日志文件。
2、第一步:backup log database_name with no_log 或者 backup log database_name with truncate_only -- no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。
3、先分离数据库,然后删除日志文件,再附件数据库。收缩文件,选择日志文件,设置将文件收缩到0M,试了一下,只能从65G收缩到55G,也就是只释放了未使用的空间。
Q2: sql收缩数据库日志的几种办法
1、首先选中数据库右键--属性 点击 选择 展开弹窗中的选项--右侧的下拉列表 恢复模式从完整改为简单--点击确定。确定后再次选择右键数据库,选择任务。选择任务下二级菜单收缩--数据库,点击确定。
2、删除log文件。附加数据库,选移除log文件,此时SQL Server 会自动重新建立一个512K 的Log 文件。
3、--以单文件的方式注册该db,如果成功则mssql将自动为这个db生成一个500k的日志文件。
Q3: sql2008下的镜像数据库怎样做日志收缩?
1、先分离数据库,然后删除日志文件,再附件数据库。收缩文件,选择日志文件,设置将文件收缩到0M,试了一下,只能从65G收缩到55G,也就是只释放了未使用的空间。
2、通过分离数据库,然后再删除事务日志文件,再附加mdf数据文件,也可以达到某种意义上的事务日志收缩。以下是有关日志文摘 对于每一个数据库来讲,都需要至少一个事务日志文件。
3、方法一:--BigData为数据库名DUMP TRANSACTION BigData WITH NO_LOGBACKUP LOG BigData WITH NO_LOGDBCC SHRINKDATABASE(BigData )执行以上语句可以快速压缩日志文件到1M。
4、确认恢复模式。以下是使用 SQL Server Management Studio 检查数据库的恢复模式。完整备份,日志备份之前,必须做过完整备份。注意:不要勾选“仅复制备份”选项。“仅复制备份”不会影响日志。
5、sql收缩日志不需要停止镜像。sql在不停止镜像的情况下可以收缩日志。先分离数据库,然后删除日志文件,再附件数据库。
关于sqlserver2008收缩日志和sql2008数据库收缩日志的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







