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

作者:Fluent 时间:2024-01-27 09:29:38 

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

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

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

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

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

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

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

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

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

将文件收缩到 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

来源:http://www.cnblogs.com/Fluent-1202/p/7417799.html

标签:SQL,SERVER,2008,日志文件
0
投稿

猜你喜欢

  • Python AI编程助手AICodeHelper使用示例

    2022-01-15 03:22:22
  • python学习与数据挖掘应知应会的十大终端命令

    2022-03-05 10:38:19
  • 用PHP编写每周签到功能以提高用户参与度

    2023-05-27 17:24:54
  • 提供效率的几个ASP编程技巧

    2010-05-03 11:11:00
  • Python3+cgroupspy安装使用简介

    2022-11-13 15:11:21
  • mysql启动错误之mysql启动报1067错误解决方法

    2024-01-26 07:52:56
  • np.where()[0] 和 np.where()[1]的具体使用

    2023-04-21 20:21:29
  • 详解Python直接赋值,深拷贝和浅拷贝

    2023-05-18 12:09:34
  • PHP实现统计代码行数小工具

    2023-11-15 18:53:20
  • 基于OpenCV python3实现证件照换背景的方法

    2023-01-30 06:25:54
  • windows10在visual studio2019下配置使用openCV4.3.0

    2021-10-23 12:23:31
  • Python基于回溯法子集树模板解决m着色问题示例

    2023-11-14 12:22:59
  • 在keras中获取某一层上的feature map实例

    2023-10-19 11:37:24
  • Mac安装软件时提示已损坏的完美解决方法

    2022-12-07 03:11:21
  • tensorflow实现训练变量checkpoint的保存与读取

    2023-12-15 18:10:33
  • Python PaddleGAN实现调整照片人物年龄

    2023-09-28 05:48:14
  • PHP常量及变量区别原理详解

    2023-09-05 06:35:45
  • python 布尔注入原理及渗透过程示例

    2022-11-21 01:04:21
  • python动态网站爬虫实战(requests+xpath+demjson+redis)

    2023-03-30 20:01:51
  • python切片复制列表的知识点详解

    2023-08-06 05:31:35
  • asp之家 网络编程 m.aspxhome.com