Как я могу регистрировать события SSIS FireWarning на SQLProvider? - PullRequest
0 голосов
/ 10 января 2012

В настоящее время я реализовал ведение журнала в проекте SQL Server Integrated Services (SSIS) 2008, отключив все события ведения журнала, кроме OnWarning OnTaskFailed и OnError, и могу успешно регистрировать события в EventLog. Вот как:

На вкладке ControlFlow щелкните правой кнопкой мыши фон и выберите Logging...., затем в таблице Providers and Logs выберите SSIS log profier for Windows event Log и добавьте нового поставщика EventLog. Перейдите на вкладку Details и выберите поля OnError, OnTaskFailed и OnWarning, затем нажмите кнопку Advanced и отключите все события заголовка, кроме SourceName и MessageText. Нажмите OK, и у вас появится простой облегченный регистратор событий, который не будет заполнять ваш журнал событий лишней информацией журнала.

Но то, что сделало бы его еще лучше, это способ записи соответствующих событий непосредственно в таблицу SQL, чтобы я мог лучше контролировать результаты и управлять ими. Если хотите, назовите его службой MOM для бедных (или для вас SCOM, следуя последним соглашениям об именах).

Я исследовал использование SSIS log provider for SQL Server, но не могу найти способ записать эту информацию в таблицу SQL.

Я не хочу писать Custom Logger, просто легкий и удобный способ записи этих событий в мою собственную таблицу SQL.

Есть указатели?

1 Ответ

2 голосов
/ 10 января 2012

Можете ли вы объяснить проблему, с которой вы сталкиваетесь с собственным назначением журнала SQL Server? У меня отлично работает.

У меня был пакет, который генерировал предупреждения и ошибки, называемые Package2. Я включил ведение журнала SQL Server

Logging enabled

Я выбрал указанные события Select specific events

И только захватил нужные поля enter image description here

Я запустил пакет, и он чудесно провалился. Я запросил соединение, которое использовал для регистрации (каталог SSISDB для локального экземпляра с именем localsqla в моем случае)

C:> sqlcmd -S localhost \ localsqlA -d SSISDB -W -Q "SELECT L.id, L.source, L.event, L.message ОТ dbo.sysssislog L WHERE L.starttime> '2012-01 -10' "

И результаты. Они плохо печатаются здесь, поэтому я выделил это с помощью | (пробел)

id source event message
-- ------ ----- -------
4054 | Package2 | PackageStart | Beginning of package execution.
4055 | Execute SQL Task | OnError | Executing the query "SELECT ? as c1, ? as c2, ? as C3" failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
4056 | Package2 | OnError | Executing the query "SELECT ? as c1, ? as c2, ? as C3" failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
4057 | Execute SQL Task | OnTaskFailed |
4058 | Package2 | OnWarning | SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED.  The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
4059 | Package2 | PackageEnd | End of package execution.

(6 rows affected)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...