SqlDependency — как интерпретировать свойства SqlNotificationEventArgs?

Я использую SqlDependency и безуспешно пытались найти список возможных комбинаций Тип, Источник и Информация свойств файла объект SqlNotificationEventArgs.

Это самое близкое из того, что я нашел. Однако я знаю, что это не все, потому что я уже видел комбинацию Change/Client/Error.

Я действительно хотел бы знать, справляюсь ли я со всеми возможными случаями наилучшим образом. То есть по возможности хотелось бы восстановить "подписку".
Например, изменение/клиент/ошибка были связаны с проблемой сети, которая прервала связь между SqlServer и моим приложением. Как только связь была восстановлена, я смог успешно восстановиться.

РЕДАКТИРОВАТЬ:

Может быть, было бы полезно, если бы я привел несколько примеров проблем, которые у меня есть. В следующих вопросах, когда я говорю «восстановить», я имею в виду восстановление подписки во время выполнения, то есть без ручного вмешательства.

  • Можно ли предположить, что Тип Subscribe означает, что я ничего не могу сделать для восстановления.
  • Можно ли предположить, что Источник Data всегда будет иметь Информация о truncate, insert, update или delete. Если нет, то всегда будет что-то похожее. В настоящее время я не различаю эти случаи и просто восстанавливаю подписку и получаю обновленные данные.
  • Можно ли предположить, что, за возможным исключением Информация о Alter, a Источник object означает, что мой запрос больше недействителен и я не смогу восстановить его.

person drs9222    schedule 30.11.2010    source источник
comment
Немного не по теме, но когда вы говорите, что восстанавливаетесь после Client/Error, вызываете ли вы SqlDependency.Stop/Start перед воссозданием зависимости?   -  person Michał Drozdowicz    schedule 14.12.2010
comment
@Michał, мне не нужно было вызывать SqlDependency.Stop/Start, чтобы зависимость снова заработала.   -  person drs9222    schedule 14.12.2010
comment
хорошо спасибо. На эту тему не так много проверенной информации :/   -  person Michał Drozdowicz    schedule 14.12.2010
comment
Когда я изучал SqlDependency, я помню, что нашел больше значений перечисления, чем задокументировано Microsoft. У меня сложилось впечатление, что MS выполнила около 90% реализации, а затем отказалась от всего этого.   -  person Mant101    schedule 08.07.2015
comment
Вы можете использовать исходный код .NET и выполнять навигацию или перекрестную ссылку обратно из SqlNotificationEventArgs ctor: referencesource.microsoft.com/#System.Data/System/Data/. Тем не менее, я сделал это и нашел Subscribe/AlreadyChanged/Client, Subscribe/Error/Object, Change/Error/Timeout и... внутренний класс SqlNotification в конце, который, кажется, принимает что-либо из сети...   -  person Simon Mourier    schedule 25.07.2015


Ответы (1)


Тип может быть любым из следующих: "Изменить", "Подписаться" или "Неизвестно".

  • Изменить Данные на отслеживаемом сервере изменились. Используйте элемент SqlNotificationInfo, чтобы определить сведения об изменении.
  • Подписаться Не удалось создать подписку на уведомления. Используйте элемент SqlNotificationInfo объекта SqlNotificationEventArgs, чтобы определить причину сбоя.
  • Неизвестно Используется, когда параметр типа, отправленный сервером, не был распознан клиентом.
  •   public enum SqlNotificationType {
            Change      = 0,
            Subscribe   = 1,
    
            // use negative values for client-only-generated values
            Unknown     = -1
        }
    

    Источник может быть любым из следующих: данные, время ожидания, объект, база данных, система, оператор, среда, выполнение, владелец, неизвестный или клиент.

  • Данные Данные изменились; например, произошла операция вставки, обновления, удаления или усечения.
  • Время ожидания Время ожидания подписки истекло.
  • Объект Изменился объект базы данных; например, базовый объект, связанный с запросом, был удален или изменен.
  • База данных Состояние базы данных изменилось; например, база данных, связанная с запросом, была удалена или отсоединена.
  • Система Произошло системное событие. Например, произошла внутренняя ошибка, сервер был перезапущен или нехватка ресурсов вызвала недействительность.
  • Утверждение Утверждение Transact-SQL недопустимо для уведомлений; например, оператор SELECT, который не может быть уведомлен, или был выполнен оператор, отличный от SELECT.
  • Среда Среда выполнения несовместима с уведомлениями; например, уровень изоляции был установлен на моментальный снимок или один или несколько параметров SET несовместимы.
  • Выполнение Во время выполнения произошла ошибка времени выполнения.
  • Владелец Только для внутреннего использования; не предназначен для использования в вашем коде.
  • Неизвестно Используется, когда параметр источника, отправленный сервером, не был распознан клиентом.
  • Клиент Произошло уведомление, инициированное клиентом, например из-за тайм-аута на стороне клиента или в результате попытки добавить команду в зависимость, которая уже запущена.
  • public enum SqlNotificationSource {
        Data        = 0,
        Timeout     = 1,
        Object      = 2,
        Database    = 3,
        System      = 4,
        Statement   = 5,
        Environment = 6,
        Execution   = 7,
        Owner       = 8,
    
        // use negative values for client-only-generated values
        Unknown     = -1,
        Client      = -2
    }
    

    Информация может быть любой из следующих: Усечь, Вставить, Обновить, Удалить, Удалить, Изменить, Перезапустить, Ошибка, Запрос, Недействительный, Параметры, Изоляция, Просрочено, Ресурс, Предыдущий огонь, TemplateLimit, Объединить, Неизвестно или Уже изменено

  • Truncate Одна или несколько таблиц были усечены.
  • Вставить Данные были изменены оператором INSERT.
  • Обновить Данные были изменены оператором UPDATE.
  • Удалить Данные были изменены оператором DELETE.
  • Удалить Базовый объект, связанный с запросом, был удален.
  • Изменить Базовый объект сервера, связанный с запросом, был изменен.
  • Перезапустить Сервер был перезапущен (при перезапуске отправляются уведомления).
  • Ошибка Произошла внутренняя ошибка сервера.
  • Запрос Оператор SELECT, который не может быть уведомлен или был предоставлен.
  • Неверный Предоставлен оператор, который не может быть уведомлен (например, оператор UPDATE).
  • Параметры Параметры SET не были правильно установлены во время подписки.
  • Изоляция Оператор был выполнен в недопустимом режиме изоляции (например, моментальный снимок).
  • Просрочено Срок действия объекта SqlDependency истек.
  • Ресурс Срабатывает в результате нехватки ресурсов сервера.
  • PreviousFire Предыдущий оператор вызвал срабатывание уведомлений о запросах в рамках текущей транзакции.
  • TemplateLimit Запрос на подписку приводит к тому, что количество шаблонов в одной из целевых таблиц превышает максимально допустимый предел.
  • Неизвестно Используется, когда параметр информации, отправленный сервером, не был распознан клиентом.
  • AlreadyChanged Объект SqlDependency уже запущен, и к нему нельзя добавить новые команды.
  • Объединить Используется для определения серверной причины срабатывания уведомления о запросе.
  • public enum SqlNotificationInfo {
            Truncate      = 0,
            Insert        = 1,
            Update        = 2,
            Delete        = 3,
            Drop          = 4,
            Alter         = 5,
            Restart       = 6,
            Error         = 7,
            Query         = 8,
            Invalid       = 9,
            Options       = 10,
            Isolation     = 11,
            Expired       = 12,
            Resource      = 13,
            PreviousFire  = 14,
            TemplateLimit = 15,
            Merge         = 16,
    
            // use negative values for client-only-generated values
            Unknown        = -1,
            AlreadyChanged = -2
        }
    

    И, наконец, в ответ на ваш вопрос список возможных комбинаций:

    (Change, Data, Truncate), (Change, Data, Insert), (Change, Data, Update), (Change, Data, Delete), (Change, Data, Drop), (Change, Data, Alter), (Change, Data, Restart), (Change, Data, Error), (Change, Data, Query), (Change, Data, Invalid), (Change, Data, Options), (Change, Data, Isolation), (Change, Data, Expired), (Change, Data, Resource), (Change, Data, PreviousFire), (Change, Data, TemplateLimit), (Change, Data, Merge), (Change, Data, Unknown), (Change, Data, AlreadyChanged), (Change, Timeout, Truncate), (Change, Timeout, Insert), (Change, Timeout, Update), (Change, Timeout, Delete), (Change, Timeout, Drop), (Change, Timeout, Alter), (Change, Timeout, Restart), (Change, Timeout, Error), (Change, Timeout, Query), (Change, Timeout, Invalid), (Change, Timeout, Options), (Change, Timeout, Isolation), (Change, Timeout, Expired), (Change, Timeout, Resource), (Change, Timeout, PreviousFire), (Change, Timeout, TemplateLimit), (Change, Timeout, Merge), (Change, Timeout, Unknown), (Change, Timeout, AlreadyChanged), (Change, Object, Truncate), (Change, Object, Insert), (Change, Object, Update), (Change, Object, Delete), (Change, Object, Drop), (Change, Object, Alter), (Change, Object, Restart), (Change, Object, Error), (Change, Object, Query), (Change, Object, Invalid), (Change, Object, Options), (Change, Object, Isolation), (Change, Object, Expired), (Change, Object, Resource), (Change, Object, PreviousFire), (Change, Object, TemplateLimit), (Change, Object, Merge), (Change, Object, Unknown), (Change, Object, AlreadyChanged), (Change, Database, Truncate), (Change, Database, Insert), (Change, Database, Update), (Change, Database, Delete), (Change, Database, Drop), (Change, Database, Alter), (Change, Database, Restart), (Change, Database, Error), (Change, Database, Query), (Change, Database, Invalid), (Change, Database, Options), (Change, Database, Isolation), (Change, Database, Expired), (Change, Database, Resource), (Change, Database, PreviousFire), (Change, Database, TemplateLimit), (Change, Database, Merge), (Change, Database, Unknown), (Change, Database, AlreadyChanged), (Change, System, Truncate), (Change, System, Insert), (Change, System, Update), (Change, System, Delete), (Change, System, Drop), (Change, System, Alter), (Change, System, Restart), (Change, System, Error), (Change, System, Query), (Change, System, Invalid), (Change, System, Options), (Change, System, Isolation), (Change, System, Expired), (Change, System, Resource), (Change, System, PreviousFire), (Change, System, TemplateLimit), (Change, System, Merge), (Change, System, Unknown), (Change, System, AlreadyChanged), (Change, Statement, Truncate), (Change, Statement, Insert), (Change, Statement, Update), (Change, Statement, Delete), (Change, Statement, Drop), (Change, Statement, Alter), (Change, Statement, Restart), (Change, Statement, Error), (Change, Statement, Query), (Change, Statement, Invalid), (Change, Statement, Options), (Change, Statement, Isolation), (Change, Statement, Expired), (Change, Statement, Resource), (Change, Statement, PreviousFire), (Change, Statement, TemplateLimit), (Change, Statement, Merge), (Change, Statement, Unknown), (Change, Statement, AlreadyChanged), (Change, Environment, Truncate), (Change, Environment, Insert), (Change, Environment, Update), (Change, Environment, Delete), (Change, Environment, Drop), (Change, Environment, Alter), (Change, Environment, Restart), (Change, Environment, Error), (Change, Environment, Query), (Change, Environment, Invalid), (Change, Environment, Options), (Change, Environment, Isolation), (Change, Environment, Expired), (Change, Environment, Resource), (Change, Environment, PreviousFire), (Change, Environment, TemplateLimit), (Change, Environment, Merge), (Change, Environment, Unknown), (Change, Environment, AlreadyChanged), (Change, Execution, Truncate), (Change, Execution, Insert), (Change, Execution, Update), (Change, Execution, Delete), (Change, Execution, Drop), (Change, Execution, Alter), (Change, Execution, Restart), (Change, Execution, Error), (Change, Execution, Query), (Change, Execution, Invalid), (Change, Execution, Options), (Change, Execution, Isolation), (Change, Execution, Expired), (Change, Execution, Resource), (Change, Execution, PreviousFire), (Change, Execution, TemplateLimit), (Change, Execution, Merge), (Change, Execution, Unknown), (Change, Execution, AlreadyChanged), (Change, Owner, Truncate), (Change, Owner, Insert), (Change, Owner, Update), (Change, Owner, Delete), (Change, Owner, Drop), (Change, Owner, Alter), (Change, Owner, Restart), (Change, Owner, Error), (Change, Owner, Query), (Change, Owner, Invalid), (Change, Owner, Options), (Change, Owner, Isolation), (Change, Owner, Expired), (Change, Owner, Resource), (Change, Owner, PreviousFire), (Change, Owner, TemplateLimit), (Change, Owner, Merge), (Change, Owner, Unknown), (Change, Owner, AlreadyChanged), (Change, Unknown, Truncate), (Change, Unknown, Insert), (Change, Unknown, Update), (Change, Unknown, Delete), (Change, Unknown, Drop), (Change, Unknown, Alter), (Change, Unknown, Restart), (Change, Unknown, Error), (Change, Unknown, Query), (Change, Unknown, Invalid), (Change, Unknown, Options), (Change, Unknown, Isolation), (Change, Unknown, Expired), (Change, Unknown, Resource), (Change, Unknown, PreviousFire), (Change, Unknown, TemplateLimit), (Change, Unknown, Merge), (Change, Unknown, Unknown), (Change, Unknown, AlreadyChanged), (Change, Client, Truncate), (Change, Client, Insert), (Change, Client, Update), (Change, Client, Delete), (Change, Client, Drop), (Change, Client, Alter), (Change, Client, Restart), (Change, Client, Error), (Change, Client, Query), (Change, Client, Invalid), (Change, Client, Options), (Change, Client, Isolation), (Change, Client, Expired), (Change, Client, Resource), (Change, Client, PreviousFire), (Change, Client, TemplateLimit), (Change, Client, Merge), (Change, Client, Unknown), (Change, Client, AlreadyChanged), (Subscribe, Data, Truncate), (Subscribe, Data, Insert), (Subscribe, Data, Update), (Subscribe, Data, Delete), (Subscribe, Data, Drop), (Subscribe, Data, Alter), (Subscribe, Data, Restart), (Subscribe, Data, Error), (Subscribe, Data, Query), (Subscribe, Data, Invalid), (Subscribe, Data, Options), (Subscribe, Data, Isolation), (Subscribe, Data, Expired), (Subscribe, Data, Resource), (Subscribe, Data, PreviousFire), (Subscribe, Data, TemplateLimit), (Subscribe, Data, Merge), (Subscribe, Data, Unknown), (Subscribe, Data, AlreadyChanged), (Subscribe, Timeout, Truncate), (Subscribe, Timeout, Insert), (Subscribe, Timeout, Update), (Subscribe, Timeout, Delete), (Subscribe, Timeout, Drop), (Subscribe, Timeout, Alter), (Subscribe, Timeout, Restart), (Subscribe, Timeout, Error), (Subscribe, Timeout, Query), (Subscribe, Timeout, Invalid), (Subscribe, Timeout, Options), (Subscribe, Timeout, Isolation), (Subscribe, Timeout, Expired), (Subscribe, Timeout, Resource), (Subscribe, Timeout, PreviousFire), (Subscribe, Timeout, TemplateLimit), (Subscribe, Timeout, Merge), (Subscribe, Timeout, Unknown), (Subscribe, Timeout, AlreadyChanged), (Subscribe, Object, Truncate), (Subscribe, Object, Insert), (Subscribe, Object, Update), (Subscribe, Object, Delete), (Subscribe, Object, Drop), (Subscribe, Object, Alter), (Subscribe, Object, Restart), (Subscribe, Object, Error), (Subscribe, Object, Query), (Subscribe, Object, Invalid), (Subscribe, Object, Options), (Subscribe, Object, Isolation), (Subscribe, Object, Expired), (Subscribe, Object, Resource), (Subscribe, Object, PreviousFire), (Subscribe, Object, TemplateLimit), (Subscribe, Object, Merge), (Subscribe, Object, Unknown), (Subscribe, Object, AlreadyChanged), (Subscribe, Database, Truncate), (Subscribe, Database, Insert), (Subscribe, Database, Update), (Subscribe, Database, Delete), (Subscribe, Database, Drop), (Subscribe, Database, Alter), (Subscribe, Database, Restart), (Subscribe, Database, Error), (Subscribe, Database, Query), (Subscribe, Database, Invalid), (Subscribe, Database, Options), (Subscribe, Database, Isolation), (Subscribe, Database, Expired), (Subscribe, Database, Resource), (Subscribe, Database, PreviousFire), (Subscribe, Database, TemplateLimit), (Subscribe, Database, Merge), (Subscribe, Database, Unknown), (Subscribe, Database, AlreadyChanged), (Subscribe, System, Truncate), (Subscribe, System, Insert), (Subscribe, System, Update), (Subscribe, System, Delete), (Subscribe, System, Drop), (Subscribe, System, Alter), (Subscribe, System, Restart), (Subscribe, System, Error), (Subscribe, System, Query), (Subscribe, System, Invalid), (Subscribe, System, Options), (Subscribe, System, Isolation), (Subscribe, System, Expired), (Subscribe, System, Resource), (Subscribe, System, PreviousFire), (Subscribe, System, TemplateLimit), (Subscribe, System, Merge), (Subscribe, System, Unknown), (Subscribe, System, AlreadyChanged), (Subscribe, Statement, Truncate), (Subscribe, Statement, Insert), (Subscribe, Statement, Update), (Subscribe, Statement, Delete), (Subscribe, Statement, Drop), (Subscribe, Statement, Alter), (Subscribe, Statement, Restart), (Subscribe, Statement, Error), (Subscribe, Statement, Query), (Subscribe, Statement, Invalid), (Subscribe, Statement, Options), (Subscribe, Statement, Isolation), (Subscribe, Statement, Expired), (Subscribe, Statement, Resource), (Subscribe, Statement, PreviousFire), (Subscribe, Statement, TemplateLimit), (Subscribe, Statement, Merge), (Subscribe, Statement, Unknown), (Subscribe, Statement, AlreadyChanged), (Subscribe, Environment, Truncate), (Subscribe, Environment, Insert), (Subscribe, Environment, Update), (Subscribe, Environment, Delete), (Subscribe, Environment, Drop), (Subscribe, Environment, Alter), (Subscribe, Environment, Restart), (Subscribe, Environment, Error), (Subscribe, Environment, Query), (Subscribe, Environment, Invalid), (Subscribe, Environment, Options), (Subscribe, Environment, Isolation), (Subscribe, Environment, Expired), (Subscribe, Environment, Resource), (Subscribe, Environment, PreviousFire), (Subscribe, Environment, TemplateLimit), (Subscribe, Environment, Merge), (Subscribe, Environment, Unknown), (Subscribe, Environment, AlreadyChanged), (Subscribe, Execution, Truncate), (Subscribe, Execution, Insert), (Subscribe, Execution, Update), (Subscribe, Execution, Delete), (Subscribe, Execution, Drop), (Subscribe, Execution, Alter), (Subscribe, Execution, Restart), (Subscribe, Execution, Error), (Subscribe, Execution, Query), (Subscribe, Execution, Invalid), (Subscribe, Execution, Options), (Subscribe, Execution, Isolation), (Subscribe, Execution, Expired), (Subscribe, Execution, Resource), (Subscribe, Execution, PreviousFire), (Subscribe, Execution, TemplateLimit), (Subscribe, Execution, Merge), (Subscribe, Execution, Unknown), (Subscribe, Execution, AlreadyChanged), (Subscribe, Owner, Truncate), (Subscribe, Owner, Insert), (Subscribe, Owner, Update), (Subscribe, Owner, Delete), (Subscribe, Owner, Drop), (Subscribe, Owner, Alter), (Subscribe, Owner, Restart), (Subscribe, Owner, Error), (Subscribe, Owner, Query), (Subscribe, Owner, Invalid), (Subscribe, Owner, Options), (Subscribe, Owner, Isolation), (Subscribe, Owner, Expired), (Subscribe, Owner, Resource), (Subscribe, Owner, PreviousFire), (Subscribe, Owner, TemplateLimit), (Subscribe, Owner, Merge), (Subscribe, Owner, Unknown), (Subscribe, Owner, AlreadyChanged), (Subscribe, Unknown, Truncate), (Subscribe, Unknown, Insert), (Subscribe, Unknown, Update), (Subscribe, Unknown, Delete), (Subscribe, Unknown, Drop), (Subscribe, Unknown, Alter), (Subscribe, Unknown, Restart), (Subscribe, Unknown, Error), (Subscribe, Unknown, Query), (Subscribe, Unknown, Invalid), (Subscribe, Unknown, Options), (Subscribe, Unknown, Isolation), (Subscribe, Unknown, Expired), (Subscribe, Unknown, Resource), (Subscribe, Unknown, PreviousFire), (Subscribe, Unknown, TemplateLimit), (Subscribe, Unknown, Merge), (Subscribe, Unknown, Unknown), (Subscribe, Unknown, AlreadyChanged), (Subscribe, Client, Truncate), (Subscribe, Client, Insert), (Subscribe, Client, Update), (Subscribe, Client, Delete), (Subscribe, Client, Drop), (Subscribe, Client, Alter), (Subscribe, Client, Restart), (Subscribe, Client, Error), (Subscribe, Client, Query), (Subscribe, Client, Invalid), (Subscribe, Client, Options), (Subscribe, Client, Isolation), (Subscribe, Client, Expired), (Subscribe, Client, Resource), (Subscribe, Client, PreviousFire), (Subscribe, Client, TemplateLimit), (Subscribe, Client, Merge), (Subscribe, Client, Unknown), (Subscribe, Client, AlreadyChanged), (Unknown, Data, Truncate), (Unknown, Data, Insert), (Unknown, Data, Update), (Unknown, Data, Delete), (Unknown, Data, Drop), (Unknown, Data, Alter), (Unknown, Data, Restart), (Unknown, Data, Error), (Unknown, Data, Query), (Unknown, Data, Invalid), (Unknown, Data, Options), (Unknown, Data, Isolation), (Unknown, Data, Expired), (Unknown, Data, Resource), (Unknown, Data, PreviousFire), (Unknown, Data, TemplateLimit), (Unknown, Data, Merge), (Unknown, Data, Unknown), (Unknown, Data, AlreadyChanged), (Unknown, Timeout, Truncate), (Unknown, Timeout, Insert), (Unknown, Timeout, Update), (Unknown, Timeout, Delete), (Unknown, Timeout, Drop), (Unknown, Timeout, Alter), (Unknown, Timeout, Restart), (Unknown, Timeout, Error), (Unknown, Timeout, Query), (Unknown, Timeout, Invalid), (Unknown, Timeout, Options), (Unknown, Timeout, Isolation), (Unknown, Timeout, Expired), (Unknown, Timeout, Resource), (Unknown, Timeout, PreviousFire), (Unknown, Timeout, TemplateLimit), (Unknown, Timeout, Merge), (Unknown, Timeout, Unknown), (Unknown, Timeout, AlreadyChanged), (Unknown, Object, Truncate), (Unknown, Object, Insert), (Unknown, Object, Update), (Unknown, Object, Delete), (Unknown, Object, Drop), (Unknown, Object, Alter), (Unknown, Object, Restart), (Unknown, Object, Error), (Unknown, Object, Query), (Unknown, Object, Invalid), (Unknown, Object, Options), (Unknown, Object, Isolation), (Unknown, Object, Expired), (Unknown, Object, Resource), (Unknown, Object, PreviousFire), (Unknown, Object, TemplateLimit), (Unknown, Object, Merge), (Unknown, Object, Unknown), (Unknown, Object, AlreadyChanged), (Unknown, Database, Truncate), (Unknown, Database, Insert), (Unknown, Database, Update), (Unknown, Database, Delete), (Unknown, Database, Drop), (Unknown, Database, Alter), (Unknown, Database, Restart), (Unknown, Database, Error), (Unknown, Database, Query), (Unknown, Database, Invalid), (Unknown, Database, Options), (Unknown, Database, Isolation), (Unknown, Database, Expired), (Unknown, Database, Resource), (Unknown, Database, PreviousFire), (Unknown, Database, TemplateLimit), (Unknown, Database, Merge), (Unknown, Database, Unknown), (Unknown, Database, AlreadyChanged), (Unknown, System, Truncate), (Unknown, System, Insert), (Unknown, System, Update), (Unknown, System, Delete), (Unknown, System, Drop), (Unknown, System, Alter), (Unknown, System, Restart), (Unknown, System, Error), (Unknown, System, Query), (Unknown, System, Invalid), (Unknown, System, Options), (Unknown, System, Isolation), (Unknown, System, Expired), (Unknown, System, Resource), (Unknown, System, PreviousFire), (Unknown, System, TemplateLimit), (Unknown, System, Merge), (Unknown, System, Unknown), (Unknown, System, AlreadyChanged), (Unknown, Statement, Truncate), (Unknown, Statement, Insert), (Unknown, Statement, Update), (Unknown, Statement, Delete), (Unknown, Statement, Drop), (Unknown, Statement, Alter), (Unknown, Statement, Restart), (Unknown, Statement, Error), (Unknown, Statement, Query), (Unknown, Statement, Invalid), (Unknown, Statement, Options), (Unknown, Statement, Isolation), (Unknown, Statement, Expired), (Unknown, Statement, Resource), (Unknown, Statement, PreviousFire), (Unknown, Statement, TemplateLimit), (Unknown, Statement, Merge), (Unknown, Statement, Unknown), (Unknown, Statement, AlreadyChanged), (Unknown, Environment, Truncate), (Unknown, Environment, Insert), (Unknown, Environment, Update), (Unknown, Environment, Delete), (Unknown, Environment, Drop), (Unknown, Environment, Alter), (Unknown, Environment, Restart), (Unknown, Environment, Error), (Unknown, Environment, Query), (Unknown, Environment, Invalid), (Unknown, Environment, Options), (Unknown, Environment, Isolation), (Unknown, Environment, Expired), (Unknown, Environment, Resource), (Unknown, Environment, PreviousFire), (Unknown, Environment, TemplateLimit), (Unknown, Environment, Merge), (Unknown, Environment, Unknown), (Unknown, Environment, AlreadyChanged), (Unknown, Execution, Truncate), (Unknown, Execution, Insert), (Unknown, Execution, Update), (Unknown, Execution, Delete), (Unknown, Execution, Drop), (Unknown, Execution, Alter), (Unknown, Execution, Restart), (Unknown, Execution, Error), (Unknown, Execution, Query), (Unknown, Execution, Invalid), (Unknown, Execution, Options), (Unknown, Execution, Isolation), (Unknown, Execution, Expired), (Unknown, Execution, Resource), (Unknown, Execution, PreviousFire), (Unknown, Execution, TemplateLimit), (Unknown, Execution, Merge), (Unknown, Execution, Unknown), (Unknown, Execution, AlreadyChanged), (Unknown, Owner, Truncate), (Unknown, Owner, Insert), (Unknown, Owner, Update), (Unknown, Owner, Delete), (Unknown, Owner, Drop), (Unknown, Owner, Alter), (Unknown, Owner, Restart), (Unknown, Owner, Error), (Unknown, Owner, Query), (Unknown, Owner, Invalid), (Unknown, Owner, Options), (Unknown, Owner, Isolation), (Unknown, Owner, Expired), (Unknown, Owner, Resource), (Unknown, Owner, PreviousFire), (Unknown, Owner, TemplateLimit), (Unknown, Owner, Merge), (Unknown, Owner, Unknown), (Unknown, Owner, AlreadyChanged), (Unknown, Unknown, Truncate), (Unknown, Unknown, Insert), (Unknown, Unknown, Update), (Unknown, Unknown, Delete), (Unknown, Unknown, Drop), (Unknown, Unknown, Alter), (Unknown, Unknown, Restart), (Unknown, Unknown, Error), (Unknown, Unknown, Query), (Unknown, Unknown, Invalid), (Unknown, Unknown, Options), (Unknown, Unknown, Isolation), (Unknown, Unknown, Expired), (Unknown, Unknown, Resource), (Unknown, Unknown, PreviousFire), (Unknown, Unknown, TemplateLimit), (Unknown, Unknown, Merge), (Unknown, Unknown, Unknown), (Unknown, Unknown, AlreadyChanged), (Unknown, Client, Truncate), (Unknown, Client, Insert), (Unknown, Client, Update), (Unknown, Client, Delete), (Unknown, Client, Drop), (Unknown, Client, Alter), (Unknown, Client, Restart), (Unknown, Client, Error), (Unknown, Client, Query), (Unknown, Client, Invalid), (Unknown, Client, Options), (Unknown, Client, Isolation), (Unknown, Client, Expired), (Unknown, Client, Resource), (Unknown, Client, PreviousFire), (Unknown, Client, TemplateLimit), (Unknown, Client, Merge), (Unknown, Client, Unknown), (Unknown, Client, AlreadyChanged)
    

    Источники: перечисление SqlNotificationType, Перечисление SqlNotificationSource, Перечисление SqlNotificationInfo и SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs

    person ssnobody    schedule 31.07.2015