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;
相关推荐
云草桑11 天前
DBA 运维 数据库 备份 还原 MSSQL
数据库·dba·mssql
卓码软件测评13 天前
第三方数据库测试:【utPLSQL用于Oracle和tSQLt用于SQL Server数据库单元测试框架入门】
数据库·oracle·sqlserver·单元测试·mssql
杨云龙UP1 个月前
【MySQL逻辑备份】基于mysqldump的MySQL 8.0全量逻辑备份脚本
linux·运维·数据库·sql·mysql·mssql
杨云龙UP2 个月前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
wangzhpwang7 个月前
Sqlalchemy 连mssql坑
mssql
wangzhpwang7 个月前
Adminer 连接mssql sqlserver
mysql·sqlserver·php·dba·mssql
luckyext7 个月前
SQL SERVER常用聚合函数整理及示例
运维·服务器·数据库·sql·mysql·sqlserver·mssql
luckyext7 个月前
SQL的RAND用法和指定生成随机数的范围
运维·服务器·数据库·sql·sqlserver·运维开发·mssql
ALe要立志成为web糕手8 个月前
数据库脱裤
数据库·windows·mysql·web安全·网络安全·adb·mssql