首页数据库SQL SERVER 2008数据库日志文件收缩的方法

SQL SERVER 2008数据库日志文件收缩的方法

时间2024-02-28 19:46:03发布访客分类数据库浏览229
导读:收集整理的这篇文章主要介绍了SQL SERVER 2008数据库日志文件收缩的方法,觉得挺不错的,现在分享给大家,也给大家做个参考。 最近公司的数据库随着业务量的增多,日志文件巨大(超过...
收集整理的这篇文章主要介绍了SQL SERVER 2008数据库日志文件收缩的方法,觉得挺不错的,现在分享给大家,也给大家做个参考。

最近公司的数据库随着业务量的增多,日志文件巨大(超过300G),造成磁盘空间不够用,进而后来的访问数据库请求无法访问。

网上类似的方法也很多,但不可行,如下是我实践过,可行的,将日志文件收缩至任意指定大小的方法:

第一步: 在SQL SERVER Management Studio 中右击数据库选择“属性”---》“选项”,将恢复模式由默认的“完整”改为“简单”。

第二步:再次右键选择数据库的“任务”--》“收缩”---》“文件”菜单,进入收缩文件页面,将(要收缩的)文件类型选定为“日志”, 将页面下面的“收缩操作”单选框里选择“在释放未使用的空间前重新组织页,将文件收缩到:”,然后填写合适的收缩后的日志文件大小。

最后点击这个页面下面的“确定”按钮,以执行收缩文件(日志)操作。

执行完毕后,用户可以查到到的确该日志文件收缩到指定的大小了。

将文件收缩到 0 即可。瞬间就ok了,比用命令快多了,对于36g的日志也很快。

第三步:在SQL SERVER Management Studio 中右击数据库选择“属性”---》“选项”,将恢复模式由默认的“简单”改为“完整”。

下面是最常用的方法一

USE [master]GOALTER DATABASE 库名 SET RECOVERY SIMPLE WITH NO_WaiTGOALTER DATABASE 库名 SET RECOVERY SIMPLE --简单模式GOUSE 库名GODBCC ShrINKFILE (N'库名_LOG' , 11, TRUNCATEONLY)GO--这里的DNName_Log 如果不知道在Sys.database_files里是什么名字的话,可以用以下注释的语句进行查询--USE 库名--GO--sELECT file_id,name From sys.database_files;
    --GOUSE [master]GOALTER DATABASE SCDMS SET RECOVERY FULL WITH NO_WAITGOALTER 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 ;
    GOALTER DATABASE BigDataSET RECOVERY SIMPLE;
    --设置简单恢复模式GODBCC SHRINKFILE (BigData_Log, 1);
    GOALTER DATABASE BigDataSET RECOVERY FULL;
    --恢复为原模式GO 

方法三、

USE BigData;
    GOBACKUP LOG DATABASENAME TO disk='d:\test.bak'-- Shrink the truncated log file to 1 MB.DBCC SHRINKFILE (Bigdata_Log, 1);
    GO

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:@H_360_79@
  • SQL SERVER日志进行收缩的图文教程
  • SQL Server 2000/2005/2008删除或压缩数据库日志的方法
  • sql server中错误日志errorlog的深入讲解
  • SQL Server 2008 清空删除日志文件(瞬间缩小日志到几M)
  • SQLServer数据库中开启CDC导致事务日志空间被占满的原因
  • Sqlserver2005日志文件太大如何减小
  • SQL Server无日志恢复数据库(2种方法)
  • SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案
  • MYSQL SERVER收缩日志文件实现方法
  • 声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


    若转载请注明出处: SQL SERVER 2008数据库日志文件收缩的方法
    本文地址: https://pptw.com/jishu/631863.html
    使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法 sql server2008数据库迁移的两种方法

    游客 回复需填写必要信息