来自Job的SQL存储过程输出不一致

时间:2016-09-29 09:44:30

标签: sql-server database stored-procedures linked-server

我有一个存储过程,使用链接服务器从Oracle 11g服务器刷新我的MS SQL Server 2012表。基本上我所做的就是使用Openquery在SQL Server上创建我想要从Oracle复制的数据视图。为了模拟数据的刷新,我:

  1. 截断我的SQL表格中的所有行
  2. 将我使用Openquery制作的视图中的所有行插入Oracle
  3. 此任务通常需要大约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%。

    有人知道这里发生了什么吗?

0 个答案:

没有答案