使用"执行程序"来调用远程服务器时,存储过程不做任何事情。

时间:2015-07-23 15:42:23

标签: sql-server sql-server-2008 stored-procedures exec

我对使用不带Exec关键字运行时存在不同行为的存储过程感到困惑。

我有2台服务器,服务器1:
Microsoft SQL Server 2008 R2(RTM) - 10.50.1600.1(X64)2010年4月2日15:48:46版权所有(c)Microsoft Corporation在Windows NT 6.0上的标准版(64位)(Build 6002:Service Pack 2)(Hypervisor )

服务器2:
Microsoft SQL Server 2008(SP2) - 10.0.4000.0(X64)2010年9月16日19:43:16版权所有(c)1988-2008 Windows NT 6.1上的Microsoft Corporation标准版(64位)(Build 7601:Service Pack 1) (VM)

服务器1中的存储过程(ACTUALIZA_MANTE_FULL),用于从服务器1中的表中删除数据到服务器2中的表。
当我跑步" EXEC ACTUALIZA_MANTE_FULL"该过程不返回任何错误,但目标表没有行 当我跑" ACTUALIZA_MANTE_FULL" (没有EXEC)过程运行没有错误,数据插入正确。

为什么差异?,我错过了什么?

编辑:程序伪代码(抱歉无法输入实际代码)

CREATE PROCEDURE MIPROC<br> AS <br> declare @from datetime<br> set @from = getdate()-30<br> <br> delete from [ADMSRV].remotedb.dbo.remoteTable where t_date >= @from<br> <br> Insert into [ADMSRV].remotedb.dbo.remoteTable <br> Select fields, sum(datum) as datum<br> form localdb.dbo.localtable1<br> where ld_date >= @from<br> group by ields <br> union <br> Select fields, sum(datum) as data<br> form localdb2.dbo.localtable2<br> where ld_date >= @from<br> group by fields<br> GO<br>
(fields)中的字段是相同的cuantity,以及remoteTable中的PK类型 远程表只有PK,没有FK,没有唯一约束,没有唯一索引或触发器。

0 个答案:

没有答案