SQL SERVER 2008数据库日志文件收缩的方法
最近公司的数据库随着业务量的增多,日志文件巨大(超过300g),造成磁盘空间不够用,进而后来的访问数据库请求无法访问。
网上类似的方法也很多,但不可行,如下是我实践过,可行的,将日志文件收缩至任意指定大小的方法:
第一步: 在sql server management studio 中右击数据库选择“属性”---》“选项”,将恢复模式由默认的“完整”改为“简单”。
第二步:再次右键选择数据库的“任务”--》“收缩”---》“文件”菜单,进入收缩文件页面,将(要收缩的)文件类型选定为“日志”, 将页面下面的“收缩操作”单选框里选择“在释放未使用的空间前重新组织页,将文件收缩到:”,然后填写合适的收缩后的日志文件大小。
最后点击这个页面下面的“确定”按钮,以执行收缩文件(日志)操作。
执行完毕后,用户可以查到到的确该日志文件收缩到指定的大小了。
将文件收缩到 0 即可。瞬间就ok了,比用命令快多了,对于36g的日志也很快。
第三步:在sql server management studio 中右击数据库选择“属性”---》“选项”,将恢复模式由默认的“简单”改为“完整”。
下面是最常用的方法一
use [master] go alter database 库名 set recovery simple with no_wait go alter database 库名 set recovery simple --简单模式 go use 库名 go dbcc shrinkfile (n'库名_log' , 11, truncateonly) go --这里的dnname_log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询 --use 库名 --go --select file_id,name from sys.database_files; --go use [master] go alter database scdms set recovery full with no_wait go alter database scdms set recovery full --还原为完全模式 go
一般来说上面的sql对于日志2个g内速度还可以,如果不行请参考下面的步骤
1:然后在网上查找命令,找到日志文件类型为 replication 即发布状态
2:又查找到执行命令 ,该命令显示很多status为2的日志,即没有提交的。
dbcc loginfo('数据库名称')
3:直接选择我之前创建的发布,提示以下错误:
sqlserver无法作为数据库主体执行,因为主体 "dbo" 不存在...
查找到以下命令,为用户添加数据库角色时提示已经存在此帐号请查看数据库下是否已经存在该帐号并删除重新授权
use 库名
exec sp_changedbowner 'sa'
4:然后再删除发布和订阅即成功。最后再执行第一步的sql命令,日志文件缩小成功。
方法二、先设置恢复模式为“简单恢复”模式,再收缩:
use bigdata ; go alter database bigdata set recovery simple;--设置简单恢复模式 go dbcc shrinkfile (bigdata_log, 1); go alter database bigdata set recovery full;--恢复为原模式 go
方法三、
use bigdata; go backup log databasename to disk='d:\test.bak' -- shrink the truncated log file to 1 mb. dbcc shrinkfile (bigdata_log, 1); go
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 二叉搜索树的最小绝对差(中序、栈)
下一篇: python基础语法(函数参数篇)
推荐阅读
-
安装SQL Server2008的示例数据库AdventureWorks 2008
-
SQL Server中聚合历史备份信息对比数据库增长的方法
-
SQL SERVER清除日志的方法
-
还原sql server数据库的处理方法
-
SQL server 2008数据库的备份与还原(转)
-
sqlserver2008查找某数据库中的列是否存在某个值 博客分类: sqlserver SQL Server
-
C#实现Excel表数据导入Sql Server数据库中的方法
-
SQL Server 2008 导入.mdf文件时遇 (数据库 的版本为 661,此服
-
SQL Server 2008 中收缩数据库 博客分类: sqlserver@数据库 sql server收缩日志
-
Win10打开SQL Server数据库服务的方法