如何记录受SSIS执行SQL任务影响的行数

时间:2009-08-28 18:20:26

标签: sql-server ssis

当我执行像“Select ...”这样的sql语句时,我只能看到“... 100%”已完成......

我想记录受影响的行数。

我们怎么能这样做?

3 个答案:

答案 0 :(得分:1)

从存储过程中运行SELECT,您可以将rowcount记录到表中,或者执行任何其他操作来记录它...

CREATE PROCEDURE SSIS_TaskA
AS

DECLARE @Rows  int

SELECT ... --your select goes here


SELECT @Rows=@@ROWCOUNT

INSERT INTO YourLogTable
        (RunDate,Message)
    VALUES
        (GETDATE(),'Selected '+CONVERT(varchar(10),ISNULL(@Rows,0))+' rows in SSIS_TaskA')

GO

答案 1 :(得分:0)

当您在大多数情况下使用SQL任务作为目标提供DataSet对象时,可以从DataSet中计算ligne的数量

答案 2 :(得分:0)

我相信您可以在更新或插入语句中利用t-sql输出子句并将其捕获为ssis变量....或者只是将其放入sql表中。

这是一个例子......它很糟糕,但它是一个例子

UPDATE TOP (10) HumanResources.Employee
SET VacationHours = VacationHours * 1.25 
OUTPUT INSERTED.EmployeeID,
       DELETED.VacationHours,
       INSERTED.VacationHours,
       INSERTED.ModifiedDate
INTO @MyTableVar;

您可以在任何需要的地方输出@@ ROWCOUNT。

这是输出语法

http://technet.microsoft.com/en-us/library/ms177564.aspx

相关问题