首页 > 数据库 >MSSQL 数据库服务器磁盘空间报警 -

MSSQL 数据库服务器磁盘空间报警 -

时间:2024-04-18 16:33:54浏览次数:29  
标签:文件 DATABASE 数据库 恢复模式 distribution 磁盘空间 服务器 日志 MSSQL

如服务器上有创建MS SQL Replication,则会自动创建distribution数据库,有时distribution数据库日志文件过大

解决方案:

1.第一种方案:

查看日志大小, dbcc sqlperf(logspace),查看哪个数据库日志文件过大,如果有数据库日志文件非常大,就需要通过检查日志的VLF使用情况来进行诊断,日志文件是通过重用VLF文件来实现事务日志按照lsn顺序写入到日志文件的,如果当前VLF的状态都是已使用(2使用0未用),那么收缩文件是无法收缩这些文件的。

    查看日志无法收缩的具体原因:  SELECT name,log_reuse_wait_desc FROM sys.databases where name='数据库名称'

    log_reuse_wait_desc,包含哪几种:

              NOTHING

当前有一个或多个可重复使用的虚拟日志文件。

CHECKPOINT

自上次日志截断之后,尚未出现检查点,或者日志头部尚未跨一个虚拟日志文件移动(所有恢复模式)。这是日志截断延迟的常见原因。

LOG_BACKUP

需要日志备份,以将日志的头部前移(仅适用于完整恢复模式或大容量日志恢复模式)。

注意:日志备份不会妨碍截断。

完成日志备份后,日志的头部将前移,一些日志空间可能变为可重复使用。

ACTIVE_BACKUP_OR_RESTORE

数据备份或还原正在进行(所有恢复模式)。

数据备份与活动事务的运行方式相同。数据备份在运行时,将阻止截断。

ACTIVE_TRANSACTION

事务处于活动状态(所有恢复模式)。一个长时间运行的事务可能存在于日志备份的开头。在这种情况下,可能需要进行另一个日志备份才能释放空间。

事务被延迟(仅适用于 SQL Server 2005 Enterprise Edition及更高版本)。“延迟的事务” 是有效的活动事务,因为某些资源不可用,其回滚受阻。

DATABASE_MIRRORING

数据库镜像暂停,或者在高性能模式下,镜像数据库明显滞后于主体数据库(仅限于完整恢复模式)。

REPLICATION

在事务复制过程中,与发布相关的事务仍未传递到分发数据库(仅限于完整恢复模式)。

DATABASE_SNAPSHOT_CREATION

正在创建数据库快照(所有恢复模式)。

这是日志截断延迟的常见原因,通常也是主要原因。

LOG_SCAN

正在进行日志扫描(所有恢复模式)。

这是日志截断延迟的常见原因,通常也是主要原因。

针对延迟日志截断原因的部分解决方案,

执行下面T-SQL语句,收缩数据库日志大小,

USE [数据库名称] 

GO  ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT  GO  DBCC SHRINKFILE (N'数据库名称_log' , 400, TRUNCATEONLY)  GO  DBCC SHRINKDATABASE(N'数据库名称'  GO ALTER DATABASE 数据库名称 SET RECOVERY full WITH NO_WAIT  GO 2.第二种方案:

-- stop agent first

 

ALTER DATABASE DISTRIBUTION SET OFFLINE

 

-- 假设原来的文件是 C:\path\to\distribution_data.mdf

-- 移动分发数据库文件

ALTER DATABASE [distribution]

MODIFY FILE

(

   NAME = 'distribution',

   FILENAME = 'XXX:\distribution.mdf'  --新目录存放数据库文件

);

 

-- 如果有日志文件,也需要相应地移动

ALTER DATABASE [distribution]

MODIFY FILE

(

   NAME = 'distribution_log',

   FILENAME = 'XXX:\distribution.ldf'   --新目录存放数据库文件

);

 ALTER DATABASE DISTRIBUTION SET ONLINE

 

标签:文件,DATABASE,数据库,恢复模式,distribution,磁盘空间,服务器,日志,MSSQL
From: https://www.cnblogs.com/dxmdiy/p/18143793

相关文章

  • 服务器raid卡,守护数据安全,赋能新质生产力
    RAID卡,全称为独立冗余磁盘阵列卡,在数据中心、服务器、网络存储等领域得到广泛应用,RAID卡通过不同的RAID级别实现数据容错和冗余。例如,RAID0主要适用于需要高速数据传输但对数据安全要求不高的场景,如数据的缓存;RAID1使用镜像备份确保数据不因硬盘故障而丢失。然而市面上的Raid卡......
  • 批量扫描并上报所有服务器已信任的authorized_keys
    https://www.cnblogs.com/iAmSoScArEd/p/18140656-我超怕的codefromflaskimportFlask,requestimportcsvapp=Flask(__name__)@app.route('/',methods=['POST'])defreceive_data():data=request.data.decode('utf-8')......
  • 试用阿里云GPU服务器进行深度学习模型训练
    试用阿里云GPU服务器进行深度学习模型训练最近在用PyTorch时发现在本地训练模型速度一言难尽,然后发现阿里云可以白嫖gpu服务器,只要没有申请过PAI-DSW资源的新老用户都可以申请5000CU*H的免费额度,三个月内有效。阿里云免费试用活动页面一、申请试用并创建实例点击试用,完成注......
  • C:\Windows\System32\spool 目录中,这个目录是与打印相关的系统服务的默认位置。 Pr
    C:\Windows\System32\spool目录中,这个目录是与打印相关的系统服务的默认位置。作用:drivers:这个文件夹包含了打印机驱动程序文件。Windows系统使用这些驱动程序来与不同类型和品牌的打印机进行通信。PRINTERS:这个文件夹通常用于存储正在打印的文档的临时文件。当......
  • 使用vbs脚本来监控windows服务器上的应用程序(不存在就启动)
    <p>这个vbs代码主要实现的功能就是运行该程序,就会在进程中出现一个wscript.exe它会每隔10s扫面一次进程中是否存在notepad.exe这个程序,不存在就启动。这个启动程序可能跟进程名不一样,好比tomcat应用,启动的是startup.bat,后台进程名为java.exe,这样就需要......
  • windows使用/服务(15)windows Server【开机启动和任务计划程序】实现服务器重启后项目自
    版权声明:本文为博客园博主「yclizq」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:windowsServer【开机启动和任务计划程序】实现服务器重启后项目自启动1.说明有些时候我们希望计算机开机后就启动一些服务或应用程序。2.开机启动使用Win+R......
  • nuxt3_使用pinia实现服务器端渲染状态管理
    目录安装nuxt3的pinia包修改nuxt.config.ts的配置在项目中创建pinia仓库创建本地的测试服务器用于测试ssr在nuxt项目中创建服务器端请求接口在/article/[id]路由页面中实现服务器端渲染使用postman向http://localhost:3000/article/95发送请求修改路由配置实现页面数据缓存安装nu......
  • flask框架图书管理系统服务器端
    fromflaskimportFlask,request,jsonifyapp=Flask(__name__)books=[{'id':1,'title':'book1','author':'au1'},{'id':2,'title':'book2','author':'au2'},......
  • 在Linux中,如何配置DNS服务器和解析服务?
    在Linux中,配置DNS服务器和解析服务通常涉及安装和配置DNS服务器软件,如BIND(BerkeleyInternetNameDomain),或使用操作系统自带的DNS服务。以下是配置DNS服务器的基本步骤:1.安装BIND安装BIND软件包:根据你的Linux发行版,使用包管理器安装BIND。sudoapt-getinstallbind9#......
  • 兼容流式套接字与数据报 套接字的回射服务器
    实验流程:1)设计基于select模型的双协议服务器方案创建套接字:为每种协议创建一个套接字(例如,TCP和UDP)。绑定套接字:将套接字绑定到指定的端口上。设置套接字选项:为每个套接字设置相应的选项,例如允许重用地址、设置超时时间等。监听套接字:对于TCP套接字,需要调用listen()函数进行......