2016-03-24 2 views
-1

У меня есть пакет SSIS, который имеет три DataFlowTasks.Пользовательская регистрация в таблице SQL Server в SSIS

1st dataflow load data to destination table1 
2nd dataflow load data to destination table2 
3rd dataflow load data to destination table3 

Я настроил ведение журнала по умолчанию на таблицу SQL Server (ssiserrorlog) при ошибке. , но у этого есть только начальные и конечные детали, но я хочу зарегистрировать данные в таблице журналов ошибок SQL Server, как показано ниже.

enter image description here

Как сделать этот процесс я новичок в SSIS.

ответ

1

Вы можете использовать компонент Row Count в каждом потоке данных, чтобы получить количество загруженных строк.

«Продолжительность» - это всего лишь DateDiff между датой начала и окончания. Вы даже можете сделать это вычисленным столбцом в таблице журналов, если вы не довольны просто вычислять его во время запроса.

+0

как захватить StartTime и время окончания – StackUser

+0

я не понимаю, вы говорите в своем вопросе, что у вас уже есть StartTime и Конечное время. Но если вы этого не сделаете, вы можете просто сделать это «SELECT GETDATE()» в ExecuteSQL Task. –

1

Используйте преобразование RowCount в каждой задаче потока данных перед загрузкой в ​​пункт назначения. И затем используйте это значение в таблице SSISLogging.

Что касается продолжительности, так как вы знаете время начала и время окончания, используйте функцию DateDiff.

+0

как захватить время начала и время окончания – StackUser

1

В SSIS у вас будут системные переменные - начало и конец. Использовать системные переменные для захвата времени начала и окончания

0

Было предложено правильное решение для RowCount и Duration, однако существуют проблемы с типами данных между использованием переменной system :: starttime для передачи пользовательских журналов времени запуска или события SSIS для SQL.

Пользователь должен будет создать пользовательскую переменную (то есть пользователь :: StartTime) и, вероятно, создать выражение (в зависимости от того, что используется для EndTime), чтобы решить этот аспект проблемы.

https://sqljunkieshare.com/2011/12/09/ssis-package-logging-custom-logging-2008-r2-and-2012/