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

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

Примените к созданному классу атрибут DtsLogProviderAttribute, чтобы определить его в качестве регистратора. Этот атрибут содержит сведения для времени разработки, например, имя и описание регистратора. Свойства DisplayName и Description этого атрибута соответствуют столбцам Name и Description в редакторе Настройка журналов служб SSIS, который отображается при настройке ведения журнала для пакета в среде SQL Server Data Tools (SSDT).

Важно!

Свойство 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 осуществляется за несколько шагов, аналогичных используемым при работе с другими типами пользовательских объектов. Дополнительные сведения см. в разделе Сборка, развертывание и отладка пользовательских объектов.

См. также:

Создание кода пользовательского регистратора
Разработка пользовательского интерфейса для пользовательского регистратора