【SQL Server】清除日志文件ERRORLOG、tempdb.mdf

devtools/2024/9/24 3:57:29/

数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:

如果可以停止 SQL Server 服务,那么可以采取更直接的方式来缩减 ERRORLOGtempdb.mdf 文件的大小。以下是如何在停止服务的情况下进行操作的详细步骤:

1. 缩减 ERRORLOG 文件(停止服务后)

当你可以停止 SQL Server 服务时,清理 ERRORLOG 文件会更简单,因为你可以直接删除或者归档旧的日志文件,而不需要通过存储过程来切换日志。

步骤:
  1. 停止 SQL Server 服务

    • 打开 SQL Server 配置管理器
    • 在左侧选择 SQL Server 服务
    • 右键点击 SQL Server (MSSQLSERVER),选择 停止
  2. 找到错误日志文件

    • SQL Server 的错误日志文件通常位于 MSSQL\Log 目录中,具体位置可以通过 SQL Server 实例的配置文件查看。
    • 默认路径是类似于:
C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Log
    • 其中 XX 是 SQL Server 的版本号。
  1. 删除或归档错误日志文件

    • 将当前的 ERRORLOG 文件和旧的错误日志文件(例如 ERRORLOG.1ERRORLOG.2 等)移动到另一个文件夹,或者直接删除它们。
  2. 重新启动 SQL Server

    • 在 SQL Server 配置管理器中,重新启动 SQL Server 服务。
    • 此时,SQL Server 将自动生成一个新的 ERRORLOG 文件。

2. 缩减 tempdb.mdf 文件(停止服务后)

tempdb 是 SQL Server 临时数据库,文件会在每次 SQL Server 启动时重新创建。如果你可以停止 SQL Server 服务,缩减 tempdb.mdf 文件大小的方法会更直接。

步骤:
  1. 停止 SQL Server 服务

    • 打开 SQL Server 配置管理器
    • 右键点击 SQL Server (MSSQLSERVER),选择 停止
  2. 删除 tempdb 文件

    • 在 SQL Server 停止后,tempdb.mdf 文件不再被锁定,可以手动删除。
    • 默认情况下,tempdb.mdf 文件和它的日志文件位于以下路径:
C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Data
    • 其中 XX 是 SQL Server 的版本号。
    • 找到 tempdb.mdftemplog.ldf 文件,手动删除它们。

      注意:不用担心删除这些文件,因为 SQL Server 会在重新启动时自动重新生成它们。

  • 重新启动 SQL Server

    • SQL Server 配置管理器 中,重新启动 SQL Server 服务。
    • SQL Server 会自动重新创建新的 tempdb.mdftemplog.ldf 文件,并且它们的大小会重置为系统配置的初始大小。
  • 调整 tempdb 文件的初始大小(可选):

    • 如果你希望更好地管理 tempdb 文件大小,可以调整 tempdb 数据库的初始大小,以防止文件频繁增长。你可以使用以下命令来调整 tempdb 文件大小:
USE master;
GO
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, SIZE = 1024MB); -- 修改 tempdb.mdf 文件大小
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, SIZE = 512MB);  -- 修改 tempdb 日志文件大小
GO
  1. 这样可以确保在下一次 SQL Server 启动时,tempdb.mdftemplog.ldf 会以你设定的初始大小重新生成。

总结:

ERRORLOG 文件缩减(停止服务):
  • 停止 SQL Server 服务。
  • 手动删除或归档 ERRORLOG 文件。
  • 重启 SQL Server,新的日志文件将自动生成。
tempdb.mdf 文件缩减(停止服务):
  • 停止 SQL Server 服务。
  • 手动删除 tempdb.mdftemplog.ldf 文件。
  • 重启 SQL Server,文件将被重新生成。
  • 可选:调整 tempdb 文件的初始大小,避免它再次快速增长。

停止 SQL Server 服务后,手动删除不必要的文件是最直接的方式,并且相对快速且不涉及 SQL Server 内部操作。


http://www.ppmy.cn/devtools/116310.html

相关文章

go 读取excel数据存储到mysql

一、安装依赖 go get github.com/go-sql-driver/mysql go get github.com/jmoiron/sqlx 二、main.go package mainimport ("fmt""github.com/jmoiron/sqlx""log" ) import "github.com/tealeg/xlsx" import _ "github.com/go-s…

基于单片机的无线宠物自动喂食系统设计

本设计研究了一种无线宠物自动喂食器,其功能是先将宠物饲料放入其中,通过设定喂食时间点,当到达这一时间点后,系统开始播报语音同时控制步进电机转动,自动进行喂食。本设计主要研究怎么设定时间并进行投喂,…

JUC高并发编程1:JUC概述

1 什么是JUC 1.1 JUC简介 JUC就是 java.util .concurrent 工具包的简称。这是一个处理线程的工具包,JDK 1.5 开始出现的。 1.2 进程与线程 进程(Process)和线程(Thread)是操作系统中用于实现多任务处理的两种基本概…

Rocky 8.7 操作系统 安装部署 MySQL 5.7.32 验证测试

一、安装部署 主从服务器都需提前安装部署MySQL 5.7.32 数据库软件,本次选择采用二进制安装。 配置主从,要注意调整主备库server_id不能保持一致。 主库修改/etc/my.cnf文件,添加 server-id1log-binmysql-binbinlog-do-dbmsdbbinlog-ign…

java并发编程

力扣 2390. 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。移除星号 左侧 最近的那个 非星号 字符,并移除该星号自身。 返回移除 所有 星号之后的字符串**。** 注意&#xff1a…

Qt系统相关——QThread

文章目录 QThread的API使用示例客户端多线程应用场景互斥锁QMutexQMutexLockerQReadWriteLocker、QReadLocker、QWriteLocker 条件变量和信号量 QThread的API Qt中的多线程和Linux中的线程,本质上是一个东西 Linux线程概念 Linux多线程——线程控制 Linux多线程——…

《CUDA编程》1.GPU硬件与CUDA环境搭建

1 GPU 介绍 GPU(graphics processing unit),意为图形处理器,也被称为显卡(graphics card)。GPU的浮点数运算峰值就比同时期的CPU高一个量级;GPU的内存带宽峰值也比同时期的CPU高一个量级。 CP…

weblogic CVE-2018-2894 靶场攻略

漏洞描述 Weblogic Web Service Test Page中⼀处任意⽂件上传漏洞,Web Service Test Page 在 "⽣产模式"下默认不开启,所以该漏洞有⼀定限制。 漏洞版本 weblogic 10.3.6.0 weblogic 12.1.3.0 weblogic 12.2.1.2 28 weblogic 12.2.1.3 …