SQL Server自动生成临时表问题排查及解决
问题与解决
现象
SQL Server中自动生成了类似SmsQueueTemp83bd1bd5Output的临时表,但业务代码里并没有对应的CREATE TABLE语句。
排查过程
通过SQL Profiler追踪到这些临时表的操作来自应用程序,完整执行流程如下:
- 创建带随机后缀的临时表(如
SmsQueueTemp83bd1bd5Output) - 执行
MERGE语句,将临时表中的数据合并到[Gateway].[SmsQueue]表 - 尝试删除该临时表
根因
问题源于使用了EFCore.BulkExtensions包中的BulkInsertOrUpdate方法。由于该方法调用频率过高,临时表无法被及时清理,导致出现残留。
解决方法
停用EFCore.BulkExtensions的BulkInsertOrUpdate方法后,临时表自动创建的问题得到解决。
内容的提问来源于stack exchange,提问作者Mustafa Ulukaya
相关产品推荐
相关产品推荐

