记一次Sqlserver数据库存储过程调用导致的连接池耗尽事件

背景:

有两台数据库服务器IP分别为A和B。

(1)A服务器上有一个存储过程名称Proc_A,B服务器上有一个存储过程名称Proc_B, A服务器上有B服务器上远程数据库链接,B服务器上也有A服务器上远程数据库链接。

(2)在A服务器上面判断业务数据,如果是条件1,则走A服务器的自己的逻辑(Proc_A),如果是条件2,则在A服务器上远程调用B服务器上的逻辑(Proc_B)。

(3)在B服务器上面判断业务数据,如果是条件2,则走B服务器的自己的逻辑(Proc_B),如果是条件1,则在B服务器上远程调用A服务器上的逻辑(Proc_A),A服务器和B服务器的数据是物理隔离的。

(4)A服务器和B服务器的数据是物理隔离的。

发生过程:

在A服务器上调用B服务器上的逻辑,正常不在A上就在B上,因为设备故障导致了传入了非法的业务数据,导致判断既不是A服务器的逻辑,也不是B服务器上的逻辑,在A服务器上远程调用B,B服务器上又在调用A服务器的逻辑,默认产生了循环。

故障现象:

数据库通过客户端无法正常登录,提示链接通道占满

解决办法:

在A服务器和B服务器上只相互调用1次,阻断循环。

总结:

跨服务器互相调用数据,一定要注意是否会形成循环。

相关推荐
DIY源码阁14 分钟前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
专注搞钱16 分钟前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
东风破1371 小时前
达梦数据库实战:备份恢复与数据迁移全攻略(实例初始化、服务注册、路径迁移)
数据库·chrome
SelectDB技术团队1 小时前
2026 SelectDB AI 产品发布会:Agent Native 数据基础设施能力全景发布
数据库·人工智能·agent·apache doris·selectdb
爱吃羊的老虎2 小时前
【数据库】模块一:数据库基础与关系代数
数据库
dishugj2 小时前
iSCSI + Multipath + ASM:Oracle RAC 共享存储技术链详解
数据库·oracle
yoothey2 小时前
MySQL事务机制解析 - 面试高分知识点
数据库·mysql·面试
Lkstar3 小时前
万字长文Query改写与多路召回实战|从HyDE到RRF融合,召回率提升22%的完整方案
数据库·人工智能·llm
IT新视界3 小时前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
峥无3 小时前
MySQL DML 操作(CRUD)总结
数据库·mysql