首页 > 代码库 > 文件收缩和移除
文件收缩和移除
收缩数据文件(要腾空间,没办法只能收缩文件)的过程中,遇到日志备份,报错
USE [DBA_Monitor]GODBCC SHRINKFILE (N‘DBA_Monitor‘ , 276000)GO
等待日志备份结束,再次收缩数据文件,报错
查询得知可通过修改文件初始大小
--修改文件初始大小,当前大小的基础上加1MUSE [master]GOALTER DATABASE [DBA_Monitor] MODIFY FILE ( NAME = N‘DBA_Monitor‘, SIZE = 283649024KB )GO
再次收缩正常。
发现一数据库有两个日志文件,SQLServer对日志记录是按照严格的顺序写入的。所以虽然这里有两个日志文件,SQLServer还是在一个时间点只写其中的一个。只有这个文件写满了,SQLSERVER才会写入另外一个。因此加入多个日志文件对性能基本不会有什么帮助。
如何确认当前使用的是哪个日志文件?
可以使用dbcc loginfo命令,查看当前Status>0的FileID
create table #loginfo(FileId int,FileSize int,StartOffset bigint,FSeqNo bigint,Status int,Parity int,CreateLSN varchar(32))insert into #loginfoexec(‘dbcc loginfo‘)select * From #loginfowhere status>0drop table #loginfo
如何删除多余的日志文件
首先,清空多余的日志文件;然后,删除清空后的日志文件
--step1通过将数据迁移到同一文件组中的其他文件来清空文件USE [DBA_Monitor]GODBCC SHRINKFILE (N‘DBA_Monitor_log2‘ , EMPTYFILE)GO--step2移除清空后的日志文件USE [DBA_Monitor]GOALTER DATABASE [DBA_Monitor] REMOVE FILE [DBA_Monitor_log2]GO
文件收缩和移除
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。