Создание пользовательского регистратора

Среда времени выполнения служб Integration Services располагает обширными возможностями по ведению журналов. С помощью журнала можно отслеживать события, происходящие во время выполнения пакета. Службы Integration Services включают целый ряд регистраторов, используя которые можно создавать и сохранять журналы в различных форматах, например, XML, текстовом, базы данных или в виде журнала событий Windows. Если ни один из этих регистраторов или предлагаемых ими выходных форматов не соответствует потребностям пользователя, можно создать пользовательский регистратор.

Создание пользовательского регистратора, как и любого другого пользовательского объекта для служб Integration Services, осуществляется в несколько шагов, а именно:

  • Создайте новый класс, наследующий базовый класс. Для регистратора базовым классом является LogProviderBase.

  • Примените к классу атрибут, определяющий тип объекта. Для регистратора используется атрибут DtsLogProviderAttribute.

  • Переопределите реализацию методов и свойств базового класса. Для регистратора это свойство ConfigString, методы OpenLog, Log и CloseLog.

  • Настраиваемые интерфейсы пользователя не реализуются для пользовательских регистраторов в службах SQL Server Integration Services.

Рабочие образцы пользовательских регистраторов см. в образцах служб Integration Services в разделе Codeplex.

Приступая к работе над пользовательским регистратором

Создание проектов и классов

Так как все управляемые регистраторы являются производными от базового класса LogProviderBase, на первом шаге создания пользовательского регистратора необходимо создать проект библиотеки классов на предпочитаемом языке программирования управляемого кода, а затем создать класс, наследующий от базового класса. В этом производном классе будут переопределены методы и свойства базового класса, реализующие пользовательские функциональные возможности.

Настройте проект таким образом, чтобы создаваемая сборка подписывалась с использованием файла ключа для строгого имени.

ПримечаниеПримечание

Многие регистраторы служб Integration Services имеют собственный пользовательский интерфейс, в котором реализован интерфейс IDtsLogProviderUI, а вместо содержимого текстового поля Конфигурация в диалоговом окне Настройка журналов служб SSIS используется фильтруемый раскрывающийся список доступных диспетчеров соединений. Однако пользовательские интерфейсы для пользовательских регистраторов не реализуются в службах Integration Services.

Применение атрибута DtsLogProvider

Примените к созданному классу атрибут DtsLogProviderAttribute, чтобы определить его в качестве регистратора. Этот атрибут содержит сведения для времени разработки, например, имя и описание регистратора. Свойства DisplayName и Description этого атрибута соответствуют столбцам Имя и Описание в редакторе Настройка журналов служб SSIS, который отображается при настройке ведения журнала для пакета в среде Business Intelligence Development Studio.

Важное примечаниеВажно!

Свойство LogProviderType атрибута не используется. Однако необходимо ввести значение для него, в противном случае пользовательский регистратор не будет отображаться в списке доступных регистраторов.

ПримечаниеПримечание

Поскольку пользовательские интерфейсы для пользовательских регистраторов не реализуются в службах Integration Services, указание значения для свойства UITypeName атрибута DtsLogProviderAttribute не имеет никакого эффекта.

<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _
Public Class MyLogProvider
     Inherits LogProviderBase
    ' TODO: Override the base class methods.
End Class
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]
public class MyLogProvider : LogProviderBase
{
    // TODO: Override the base class methods.
}

Построение, развертывание и отладка пользовательского регистратора

Построение, развертывание и отладка пользовательского регистратора в службах Integration Services осуществляется за несколько шагов, аналогичных используемым при работе с другими типами пользовательских объектов. Дополнительные сведения см. в разделе Построение, развертывание и отладка пользовательских объектов.

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей служб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.