SQL Server Service Broker清空conversation释放TempDB空间

如果你的数据库启用了Service Broker后发现TempDB的size一直在增加,此时可以考虑是否在call service的时候没有结束conversation。

具体怎么结束conversation可以参考另一篇。SQL Server Service Broker启用详解以及常见问题

此文章主要用于清理遗留的conversation去释放TempDB的空间。

脚本如下:

'AuditTrailService'--改成你自己的service名称(可以在你的DB -> Service Broker -> Services )

sql 复制代码
--End conversation for AuditTrailSyncQueue
declare @ServiceBroker_ServiceName nvarchar(255)='AuditTrailService'--改成你自己的service名称(可以在你的DB -> Service Broker -> Services )
DECLARE @conversationHandle UNIQUEIDENTIFIER;

WHILE (1 = 1)
BEGIN
select TOP 1 @conversationHandle= ce.conversation_handle
from 
sys.conversation_endpoints ce 
left join sys.services ss on ce.service_id=ss.service_id
where state_desc='CONVERSING' and ce.far_service=@ServiceBroker_ServiceName

IF (@@ROWCOUNT = 0)
BREAK;

END CONVERSATION @conversationHandle WITH CLEANUP;
END;
相关推荐
云草桑1 天前
DBA mssql 解决排序规则冲突 QA prod 和开发配置都是一样的服务器排序规则 为啥开发环境的的存储过程需要 加这个COLLATE Chinese_PRC_CI_AS
数据库·dba·mssql
小新1103 个月前
后台nodejs+express从sql server中获取数据
express·mssql
云草桑4 个月前
DBA 运维 数据库 备份 还原 MSSQL
数据库·dba·mssql
卓码软件测评4 个月前
第三方数据库测试:【utPLSQL用于Oracle和tSQLt用于SQL Server数据库单元测试框架入门】
数据库·oracle·sqlserver·单元测试·mssql
杨云龙UP5 个月前
【MySQL逻辑备份】基于mysqldump的MySQL 8.0全量逻辑备份脚本
linux·运维·数据库·sql·mysql·mssql
杨云龙UP5 个月前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
wangzhpwang10 个月前
Sqlalchemy 连mssql坑
mssql
wangzhpwang1 年前
Adminer 连接mssql sqlserver
mysql·sqlserver·php·dba·mssql
luckyext1 年前
SQL SERVER常用聚合函数整理及示例
运维·服务器·数据库·sql·mysql·sqlserver·mssql