如何登录受SSIS执行SQL任务排数(How to Log Number of Rows affec

2019-10-17 10:11发布

当我执行一个SQL语句,如“SELECT ...”,我只能看到“... 100%”完成...

我要记录受影响的行数。

我们怎样才能做到这一点?

Answer 1:

从运行一个存储过程,在那里你可以登录行数到一个表,或做任何记录它在你的SELECT ...

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


Answer 2:

当您使用SQL任务的选择你最给作为目标DataSet对象的时候,你可以从DataSet算LIGNE数量



Answer 3:

我相信你可以充分利用T-SQL输出条款上您的UPDATE或INSERT语句,捕捉,作为一个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



文章来源: How to Log Number of Rows affected by SSIS Execute SQL Task