我有一个存储过程,使用链接服务器从Oracle 11g服务器刷新我的MS SQL Server 2012表。基本上我所做的就是使用Openquery在SQL Server上创建我想要从Oracle复制的数据视图。为了模拟数据的刷新,我:
此任务通常需要大约8秒钟才能完成。
我的存储过程的内容如下:
TRUNCATE TABLE [JCR_DTS].[dbo].[ORACLE_ALL_PROJECTS];
TRUNCATE TABLE [JCR_DTS].[dbo].[ORACLE_PROJECTS_CC];
INSERT INTO [JCR_DTS].[dbo].[ORACLE_ALL_PROJECTS]
SELECT *
FROM [JCR_DTS].[dbo].[vwORA_ALL_PROJECTS];
INSERT INTO [JCR_DTS].[dbo].[ORACLE_PROJECTS_CC]
SELECT *
FROM [JCR_DTS].[dbo].[vwORA_PROJECTS_CC];
当我手动执行存储过程时,它运行正常,并在sql表上显示新插入的行。
但是当我让作业执行存储过程时,有时它只执行两个表的截断并且不插入任何行。这种情况大约占工作执行时间的50%。
有人知道这里发生了什么吗?