Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
Задача "Очередь сообщений" позволяет использовать очередь сообщений (также называемую MSMQ) для отправки и получения сообщений между пакетами служб SQL Server Integration Services или отправки сообщений в очередь приложений, обрабатываемую пользовательским приложением. Эти сообщения могут принимать форму простого текста, файлов или переменных и их значений.
Используя задачу «Очередь сообщений», можно координировать операции по всему предприятию. Сообщения могут быть поставлены в очередь и доставляться позже, если назначение недоступно или занято; например, задача может ставить в очередь сообщения для работающих в режиме «вне сети» переносных компьютеров торговых представителей, которые получают сообщения при подключении к сети. Можно использовать задачу очереди сообщений для следующих целей:
Отсрочка выполнения задачи до тех пор, пока не будут возвращены другие пакеты. Например, после проведения ночного обслуживания в каждой точке продаж задача «Очередь сообщений» отправляет сообщение на корпоративный компьютер. Пакет, запущенный на корпоративном компьютере, содержит задачи «Очередь сообщений», каждая из которых ожидает сообщения от конкретного сайта продаж. Когда поступает сообщение с сайта, задача загружает данные с этого сайта. После получения сообщений от всех сайтов пакет вычисляет сводные итоги.
Отправка файлов данных на компьютер, который их обрабатывает. Например, данные кассы ресторана могут быть отосланы в корпоративную платежную систему, где вычисляются данные о чаевых каждого официанта.
Распределение файлов по предприятию. Например, пакет может использовать задачу «Очередь сообщений» для отправки файла пакета на другой компьютер. Пакет, запущенный на целевом компьютере, использует задачу очереди сообщений для получения и сохранения пакета локально.
При получении или отправке сообщений задача "Очередь сообщений" использует один из следующих типов сообщений: файл данных, строка, строковое сообщение в переменную или переменная. Тип сообщения «строка в переменную» можно использовать только при получении сообщений.
Задача использует диспетчер соединений MSMQ для подключения к очереди сообщений. Дополнительные сведения см. в статье Диспетчер соединений MSMQ. Дополнительные сведения о службе очередей сообщений см. в библиотеке MSDN.
Задача очереди сообщений требует, чтобы служба Integration Services была установлена. Некоторые компоненты SQL Server, которые можно выбрать для установки на странице Components to Install или странице Feature Selection мастера установки SQL Server, устанавливают только часть компонентов Integration Services. Эти компоненты полезны для конкретных задач, но функциональные возможности служб Integration Services будут ограничены. Например, параметр SQL Server Data Tools (SSDT) устанавливает компоненты Служб Integration Services, необходимые для разработки пакета, но служба Integration Services не установлена, и поэтому задача очереди сообщений не работает. Чтобы обеспечить полную установку служб Integration Services, необходимо выбрать службы Integration Services на странице "Компоненты" для установки . Дополнительные сведения об установке и запуске задачи "Очередь сообщений" см. в разделе Установка служб Integration Services.
Примечание.
Задача «Очередь сообщений» не соответствует требованиям Федерального стандарта обработки информации (FIPS) 140-2, когда в операционной системе компьютера включён режим FIPS и задача использует шифрование. Если задача «Очередь сообщений» не использует шифрование, то задача выполняется успешно.
Типы сообщений
Типы сообщений, предоставляемых задачей «Очередь сообщений», можно настроить следующими способами:
СообщениеData file указывает, что файл содержит сообщение. При получении сообщений можно настроить задачу для сохранения файла, замены существующего файла и указания пакета, из которого задача может получать сообщения.
СообщениеString указывает, что сообщение является строкой. Можно настроить задачу так, чтобы при получении сообщений сравнивать полученную строку с пользовательской строкой и выполнять операции в зависимости от результатов сравнения. Сравнение строк может быть точным, с учётом регистра, без учёта регистра или по подстроке.
СообщениеString message to variable указывает исходное сообщение как строку, которая отправляется в целевую переменную. Можно настроить задачу так, чтобы она сравнивала полученную строку со строкой, заданной пользователем, используя точное сравнение, сравнение без учета регистра или сравнение по подстроке. Тип сообщений доступен, только если задача получает сообщения.
СообщениеVariable содержит одну или несколько переменных. Можно настроить задачу, указав имена переменных, включенных в сообщение. При получении сообщений можно настроить задачу, указав и пакет, откуда она может получать сообщения, и переменную, которая является назначением сообщения.
отправка сообщений
При настройке задачи «Очередь сообщений» на отправку сообщений для шифрования сообщений можно использовать один из алгоритмов шифрования, которые в данный момент поддерживаются службой очередей сообщений (алгоритмы RC2 и RC4). Оба этих алгоритма шифрования считаются сегодня криптографически слабыми по сравнению с более новыми алгоритмами, которые служба очередей сообщений еще не поддерживает. Поэтому при отправке сообщений с помощью задачи «Очередь сообщений» необходимо тщательно учитывать требования криптографии.
получение сообщений
При получении сообщений задача «Очередь сообщений» может быть настроена следующими способами:
Пропуск сообщения или удаление сообщения из очереди.
Указание периода ожидания.
Сбой при возникновении тайм-аута.
Замена существующего файла, если сообщение хранится в Data file.
Сохранение файла сообщения под другим именем, если сообщение использует тип Data file message .
Пользовательские сообщения для ведения журнала, доступные в задаче «Очередь сообщений»
В следующей таблице перечислены пользовательские записи в журнале для задачи «Очередь сообщений». Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).
| Запись журнала | Описание |
|---|---|
| MSMQAfterOpen | Указывает, что задача завершила открытие очереди сообщений. |
| MSMQBeforeOpen | Указывает, что задача начала открывать очередь сообщений. |
| MSMQBeginReceive | Указывает, что задача начала получать сообщение. |
| MSMQBeginSend | Указывает, что задача начала отправку сообщения. |
| MSMQEndReceive | Указывает, что задача завершила прием сообщения. |
| MSMQEndSend | Указывает, что задача завершила отправку сообщения. |
| MSMQTaskInfo | Предоставляет описательные сведения о задаче. |
| MSMQTaskTimeOut | Указывает, что время ожидания выполнения задачи истекло. |
Настройка задачи «Очередь сообщений»
Свойства могут быть заданы с помощью конструктора SSIS или программным путем. Чтобы узнать о свойствах, которые можно задать в конструкторе служб SSIS, щелкните следующий раздел:
Дополнительные сведения о задании этих свойств программными средствами см. в документации по классу Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask в руководстве для разработчиков.
Связанные задачи
Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в разделе "Задание свойств задачи или контейнера".
Редактор задачи «Очередь сообщений» (страница «Общие»)
Страница «Общие» диалогового окна Редактор задачи «Очередь сообщений» позволяет задавать имя и описывать задачу «Очередь сообщений», определять формат сообщений, а также указывать, будет ли задача отправлять или получать сообщения.
Параметры
Имя
Укажите уникальное имя для задачи «Очередь сообщений». Это имя используется в качестве метки для значка задачи.
Примечание.
Имена задач в пределах пакета должны быть уникальными.
Description
Введите описание задачи «Очередь сообщений».
Use2000Format
Укажите, следует ли использовать формат Message Queuing 2000 (также известной как MSMQ). По умолчанию False.
MSMQConnection
Выберите существующий диспетчер подключений MSMQ или щелкните <Создать подключение...>, чтобы создать новый диспетчер подключений.
См. также: Диспетчер FTP-соединений, Редактор диспетчера FTP-соединений
Сообщение
Указывает, будет ли задача «Очередь сообщений» отправлять или получать сообщения. При выборе режима Отправить сообщениена левой панели диалогового окна появляется страница «Отправка», при выборе режима Получить сообщениепоявляется страница «Получение». По умолчанию, устанавливается режим Отправить сообщение.
Редактор задачи «Очередь сообщений» (страница «Отправка»)
Используйте страницу "Отправить" диалогового окна редактора задач очереди сообщений, чтобы настроить задачу очереди сообщений для отправки сообщений из пакета Служб Microsoft SQL Server Integration Services.
Параметры
UseEncryption
Укажите, необходимо ли шифровать сообщение. По умолчанию False.
EncryptionAlgorithm
При выборе шифрования задайте имя алгоритма шифрования для использования. Задача «Очередь сообщений» поддерживает алгоритмы RC2 и RC4. По умолчанию, используется алгоритм RC2.
Примечание.
Алгоритм RC4 поддерживается только в целях обратной совместимости. Когда база данных имеет уровень совместимости 90 или 100, новые материалы могут шифроваться только с помощью алгоритмов RC4 или RC4_128. (Не рекомендуется.) Используйте вместо этого более новые алгоритмы, например AES. В текущем выпуске SQL Server материалы, зашифрованные с помощью RC4 или RC4_128, можно расшифровать на любом уровне совместимости.
Внимание
Здесь приведены алгоритмы шифрования, поддерживаемые технологией очередей сообщений (MSMQ). Оба этих алгоритма шифрования считаются сегодня криптографически слабыми по сравнению с новыми алгоритмами, которые служба очередей сообщений еще не поддерживает. Поэтому при отправке сообщений с помощью задачи «Очередь сообщений» необходимо тщательно учитывать требования криптографии.
MessageType
Выбор типа сообщения. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Сообщение файла данных | Сообщение хранится в файле. При выборе этого значения отображается динамический параметр DataFileMessage. |
| Переменное сообщение | Сообщение хранится в переменной. При выборе этого значения отображается динамический параметр VariableMessage. |
| Строковое сообщение | Сообщение сохраняется в задаче «Очередь сообщений». При выборе этого значения отображается динамический параметр StringMessage. |
Динамические параметры типа сообщения
MessageType = Сообщение файла данных
DataFileMessage
Введите путь к файлу данных или нажмите кнопку с многоточием (…), а затем найдите файл.
MessageType = Сообщение с переменными
VariableMessage
Введите имена переменных или нажмите кнопку с многоточием (…), а затем выберите переменные. Переменные разделяются запятыми.
См. также: Выбор переменных
MessageType = Строковое сообщение
StringMessage
Введите строковое сообщение или нажмите кнопку с многоточием (…), а затем введите сообщение в диалоговом окне Введите строковое сообщение.
Редактор задачи «Очередь сообщений» (страница «Получение»)
Используйте страницу получения диалогового окна редакторазадач очереди сообщений, чтобы настроить задачу очереди сообщений для получения сообщений Microsoft Message Queuing (MSMQ).
Параметры
RemoveFromMessageQueue
Указывает, следует ли удалять сообщение из очереди после того, как оно было получено. По умолчанию, этому параметру присваивается значение False.
ErrorIfMessageTimeOut
Указывает, следует ли считать задачу завершившейся с ошибкой, если время ожидания сообщения истекло, и отображать сообщение об ошибке. По умолчанию False.
TimeoutAfter
Если будет выбрано отображение сообщения об ошибке в случае неудачного завершения задачи, то следует указать количество секунд для ожидания перед отображением сообщения об истечении лимита времени.
MessageType
Выбор типа сообщения. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Сообщение файла данных | Сообщение хранится в файле. При выборе этого значения отображается динамический параметр DataFileMessage. |
| Переменное сообщение | Сообщение хранится в переменной. При выборе этого значения отображается динамический параметр VariableMessage. |
| Строковое сообщение | Сообщение сохраняется в задаче «Очередь сообщений». При выборе этого значения отображается динамический параметр StringMessage. |
| Строковое сообщение в переменную | Сообщение При выборе этого значения отображается динамический параметр StringMessage. |
Динамические параметры типа сообщения
MessageType = Сообщение файла данных
SaveFileAs
Введите путь к используемому файлу или нажмите кнопку с многоточием (…), а затем найдите файл.
Overwrite
Укажите, необходимо ли перезаписать данные в существующем файле при сохранении содержимого сообщения файлов данных. По умолчанию False.
Фильтр
Укажите, следует ли применять фильтр к сообщениям. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Нет фильтра | Эта задача не фильтрует сообщения. Выбор этого значения отображает динамический параметр IdentifierReadOnly. |
| Из пакета | Сообщение принимает только сообщения из указанного пакета. Выбор этого значения отображает динамический параметр Идентификатор. |
Динамические параметры фильтра
Filter = Без фильтра
IdentifierReadOnly
Этот параметр доступен только для чтения. Он может быть пустым или содержать идентификатор GUID пакета в случае, если свойство «Фильтр» было установлено ранее.
Filter = Из пакета
Идентификатор
Если выбрано применение фильтра, следует ввести уникальный идентификатор пакета, из которого могут быть получены сообщения, или нажать кнопку с многоточием (…) и указать пакет.
Связанные разделы:выбор пакета
MessageType = Сообщение с переменными
Фильтр
Укажите, следует ли применять фильтр к сообщениям. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Нет фильтра | Эта задача не фильтрует сообщения. Выбор этого значения отображает динамический параметр IdentifierReadOnly. |
| Из пакета | Сообщение принимает только сообщения из указанного пакета. Выбор этого значения отображает динамический параметр Идентификатор. |
Переменная
Введите имя переменной либо выберите <Создать переменную…> и затем настройте новую переменную.
Связанные разделы:добавление переменной
Динамические параметры фильтра
Filter = Без фильтра
IdentifierReadOnly
Этот параметр пуст.
Фильтр = Из пакета
Идентификатор
Если выбрано применение фильтра, следует ввести уникальный идентификатор пакета, из которого могут быть получены сообщения, или нажать кнопку с многоточием (…) и указать пакет.
Связанные разделы:выбор пакета
MessageType = Строковое сообщение
Сравнить
Укажите, следует ли применять фильтр к сообщениям. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Не допускается | Сообщения не сравниваются. |
| Точное совпадение | Сообщения должны точно совпадать со строкой, указанной в параметре CompareString . |
| Игнорировать регистр | Сообщение должно совпадать со строкой, указанной в параметре CompareString, но сравнение выполняется без учета регистра. |
| Содержит | Сообщения должны содержать строку, указанную в параметре CompareString . |
CompareString
Если в качестве значения параметра Сравнить установлено Нет, укажите строку, с которой должно сравниваться сообщение.
MessageType = строковое сообщение для переменной
Сравнить
Укажите, следует ли применять фильтр к сообщениям. Это свойство имеет параметры, указанные в следующей таблице.
| значение | Описание |
|---|---|
| Не допускается | Сообщения не сравниваются. |
| Точное совпадение | Сообщения должны точно совпадать со строкой, указанной в параметре CompareString . |
| Игнорировать регистр | Сообщение должно совпадать со строкой, указанной в параметре CompareString, но сравнение не чувствительно к регистру. |
| Содержит | Сообщение должно содержать строку, указанную в параметре CompareString . |
CompareString
Если в качестве значения параметра Сравнить установлено Нет, укажите строку, с которой должно сравниваться сообщение.
Переменная
Введите имя переменной, в которой должно храниться полученное сообщение, либо выберите <Создать переменную…> и затем настройте новую переменную.
Связанные разделы:добавление переменной
Выбор переменных
Используйте диалоговое окно Выбор переменных для указания переменных, которые следует использовать при выполнении операции отправки сообщения в задаче «Очередь сообщений». Список Доступные переменные включает системные и пользовательские переменные, находящиеся в области действия задачи "Очередь сообщений" или ее родительского контейнера. Задача использует переменные, перечисленные в списке Выбранные переменные .
Параметры
Доступные переменные
Выберите одну или несколько переменных.
Выбранные переменные
Выберите одну или несколько переменных.
Стрелки вправо
Переместить выбранные переменные в список Выбранные переменные .
Стрелки влево
Переместить выбранные переменные обратно в список Доступные переменные .
Создать переменную
Создать новую переменную.
Связанные разделы:добавление переменной