sql01服务器上有一个过程从一个表中提取数据并插入到Sql04服务器(运行应用程序的位置)。 有大约50000条记录,每次执行时,该过程都会截断Sql04上的数据并在其上插入新数据。 程序如下。
DELETE [SQL04].[Phantom].[dbo].[BulkQuote]
INSERT [SQL04].[Phantom].[dbo].[BulkQuote]
(
COL1, ___ COL22
)
SELECT
COL1, ___ COL22
FROM [dbo].[Quote]
上述过程需要将近一个小时才能完成执行,这与在那里的数据相比太长了。
我已经检查了同时在同一个对象上运行的其他进程,并创建了锁或块,但没有找到任何块 但该过程是在表(X和IX)上创建锁。
当我使用SP_who2检查作业的SPID时,我得到了以下详细信息 spid:160 状态:睡觉 登录:mcd \ srvr02 主持人:Sql02 BlkBy: - DbName:幻影 命令:等待命令 CPU时间:11475 DiskIO:1106 最后一批:05/16 08:13:54
有人请帮助我提供任何可以帮助我对锁进行排序并使SP快速运行的信息。