Настройка служб Integration Services в кластерной среде
Добавления: 15 сентября 2007 г.
Служба Integration Services не является кластеризованной службой или службой, ориентированной на кластеры, и не поддерживает переход с одного узла кластера на другой. Следовательно, в кластерной среде служба Integration Services должна быть установлена и запущена как изолированная служба для каждого узла в кластере.
Важно! |
---|
Корпорация Майкрософт не рекомендует настраивать службу Integration Services на работу в качестве ресурса кластера. |
Хотя служба Integration Services и не является кластеризованной службой, можно вручную настроить ее на работу в качестве ресурса кластера после того, как служба Integration Services будет отдельно установлена на каждом узле кластера. Этот раздел содержит сведения о настройке этой службы в качестве ресурса кластера, которые могут пригодиться клиентам, считающим, что преимущества данной конфигурации перевешивают ее недостатки.
Однако если целью постройки кластеризованной аппаратной среды является достижение высокого уровня доступности, то этой цели можно добиться и без настройки службы Integration Services в качестве ресурса кластера. Чтобы управлять пакетами в любом узле кластера, следует изменить файлы конфигурации службы Integration Services для каждого узла в кластере. Необходимо так изменить эти файлы конфигурации, чтобы они указывали на все доступные экземпляры SQL Server, на которых хранятся пакеты. Такое решение предоставляет высокий уровень доступности, необходимый для большинства клиентов, а также избегает потенциальных проблем, с которыми можно столкнуться при настройке службы Integration Services в качестве ресурса кластера. Дополнительные сведения об изменении файла конфигурации см. в разделе Настройка служб Integration Services.
Основные сведения о роли службы Integration Services
Понимание роли службы Integration Services крайне важны для принятия компетентного решения, относительно настройки службы в кластерной среде.
Служба Integration Servicesподдерживает административный интерфейс в среде SQL Server Management Studio, который используется для перечисления, запуска, остановки, наблюдения, импортирования и экспортирования пакетов службы Integration Services. Наличие службы Integration Services не требуется для проектирования пакетов. Наличие службы Integration Services также не требуется для запуска пакетов или для планирования заданий агента SQL Server, которые выполняют пакеты.
Далее приводятся задачи, которые можно выполнить даже в том случае, если служба Integration Services не запущена:
- разработка и запуск пакетов в среде Business Intelligence Development Studio;
- запуск пакетов с помощью программы командной строки dtexec (dtexec.exe), программы выполнения пакетов (dtexecui.exe), агента SQL Server или мастера импорта и экспорта SQL Server;
- перечисление пакетов, хранимых в базе данных msdb, с помощью запроса Transact-SQL, а также перечисление пакетов, хранимых в файловой системе, с помощью обозревателя Windows;
- создание и запуск заданий агента SQL Server и планов обслуживания.
Основные сведения о недостатках настройки службы Integration Services в качестве ресурса кластера
Далее приводятся потенциальные недостатки настройки службы Integration Services в качестве ресурса кластера.
- При переходе на другой ресурс не происходит повторного запуска выполняющихся пакетов. Восстановление после ошибок пакетов можно произвести, перезапустив пакеты с контрольных точек. Перезапуск с контрольных точек можно производить и без настройки службы в качестве ресурса кластера. Дополнительные сведения см. в разделе Использование контрольных точек в пакетах.
- Если служба Integration Services была настроена в группе ресурсов, отличной от группы SQL Server, то будет невозможно использовать среду Management Studio на клиентских компьютерах для управления пакетами, хранящимися в базе данных msdb. В этом двухшаговом сценарии служба Integration Services не может делегировать учетные данные.
- Если существует несколько групп ресурсов SQL Server, которые включают службу Integration Services в кластер, то при переходе на другой ресурс могут возникнуть непредвиденные результаты. Рассмотрим следующий сценарий. Группа1, в которую входят служба SQL Server и служба Integration Services, выполняется на узле А. Группа2, в которую также входят служба SQL Server и служба Integration Services, выполняется на узле Б. Происходит переход Группы2 на узел А. Попытка запуска другого экземпляра службы Integration Services на узле А завершается с ошибкой, поскольку допускается существование только одного экземпляра службы Integration Services. Завершится ли с ошибкой служба SQL Server при попытке перехода на узел А, зависит от конфигурации службы Integration Services в Группе2. Если служба Integration Services была настроена для влияния на другие службы в группе ресурсов, то служба SQL Server при попытке перехода завершится с ошибкой, потому что служба Integration Services завершилась с ошибкой. Если настройка этой службы выполнена так, что она не затрагивает другие службы в этой группе ресурсов, служба SQL Server сможет перейти на другой ресурс — узел А.
Настройка службы Integration Services на работу в качестве ресурса кластера
Этот раздел содержит инструкции по настройке службы Integration Services в качестве ресурса кластера, которые могут пригодиться клиентам, считающим, что преимущества данной конфигурации перевешивают ее недостатки. Корпорация Майкрософт, однако, не рекомендует настраивать службу Integration Services на работу в качестве ресурса кластера.
Чтобы настроить службу Integration Services на работу в качестве ресурса кластера, выполните следующие шаги.
- Установите в кластере службу Integration Services.
- Настройте службу Integration Services на работу в качестве ресурса кластера.
- Настройте службу Integration Services и хранилище пакетов.
- Переведите службу Integration Services в оперативный режим в качестве ресурса кластера.
Установка службы Integration Services в кластере
Для того чтобы установить службу Integration Services в кластере, следует произвести ее установку на каждом узле в кластере.
Установка служб Integration Services на кластере
Установите и настройте кластер, содержащий один или несколько узлов.
(Необязательно) Установите службы, поддерживающие работу в кластере, например компонент SQL Server Database Engine.
Установите службы Integration Services на каждом из узлов.
Настройка служб Integration Services на работу в качестве ресурса кластера
После установки служб Integration Services на каждом узле кластера необходимо настроить службу Integration Services как кластерный ресурс. При настройке службы Integration Services на работу в качестве ресурса кластера, можно добавить эту службу в ту же группу ресурсов, что и компонент SQL Server Database Engine, либо в другую группу. В следующей таблице приводятся возможные преимущества и недостатки для разных вариантов выбора группы ресурсов.
Службы Integration Services и SQL Server находятся в одной группе ресурсов | Службы Integration Services и SQL Server находятся в разных группах ресурсов |
---|---|
Клиентские компьютеры могут использовать среду SQL Server Management Studio для управления пакетами, хранящимися в базе данных msdb, поскольку компонент SQL Server Database Engine и служба Integration Services выполняются на одном виртуальном сервере. Такая конфигурация позволяет избежать проблем делегирования, возникающих в двухшаговом сценарии. |
Клиентские компьютеры не могут использовать среду SQL Server Management Studio для управления пакетами, хранящимися в базе данных msdb. Клиент может соединяться с виртуальным сервером, на котором запущены службы Integration Services. Однако этот компьютер не может делегировать учетные данные виртуальному серверу, на котором запущен SQL Server. Такой сценарий называется «двойным прыжком». |
Служба Integration Services конкурирует с другими службами SQL Server за ресурсы ЦП и другие ресурсы. |
Служба Integration Services не конкурирует с другими службами SQL Server за ресурсы ЦП и другие ресурсы, поскольку разные группы ресурсов установлены на разных узлах. |
Загрузка и сохранение пакетов в базу данных msdb происходит быстрее и создает меньше сетевого трафика, поскольку обе службы выполняются на одном компьютере. |
Загрузка и сохранение пакетов в базу данных msdb может производиться медленнее и создавать больше сетевого трафика. |
Обе службы одновременно включены или выключены. |
Служба Integration Services может быть включена при выключенном компоненте SQL Server Database Engine. Вследствие этого пакеты, хранящиеся в базе данных msdb компонента SQL Server Database Engine, будут недоступны. |
Служба Integration Services не может быть быстро перенесена на другой узел при необходимости. |
Служба Integration Services при необходимости может быть быстрее перенесена на другой узел. |
После принятия решения относительно того, в какую группу ресурсов стоит добавить службу Integration Services, необходимо настроить службу Integration Services на работу в качестве ресурса кластера в этой группе.
Настройка службы Integration Services на работу в качестве ресурса кластера
Откройте администратор кластера.
В дереве консоли разверните папку «Группы».
В области результатов выберите группу, к которой планируется добавить службу Integration Services.
- Чтобы добавить службу Integrations Services в качестве ресурса кластера в ту же группу ресурсов, что и SQL Server, выберите группу, к которой принадлежит SQL Server.
- Чтобы добавить службу Integrations Services в качестве ресурса кластера в группу ресурсов, в которую не входит SQL Server, выберите группу, к которой SQL Server не принадлежит.
В меню Файл выберите пункт Создать, а затем выберите Ресурс.
На странице Создание ресурса в Мастере ресурсов введите имя и выберите тип службы«Общая служба». Не изменяйте значение поля Группа. Нажмите кнопку Далее.
На странице Возможные владельцы добавьте или удалите узлы кластера, которые являются возможными владельцами ресурса. Нажмите кнопку Далее.
Чтобы добавить зависимости на странице Зависимости, выберите ресурс в списке Доступные ресурсы, а затем нажмите Добавить. В случае перехода на другой ресурс как SQL Server, так и общий диск, на котором сохраняются пакеты службы Integration Services, должны быть переведены в оперативный режим раньше, чем служба Integration Services. После выбора зависимостей нажмите кнопку Далее.
На странице Параметры общей службы введите в качестве службы MsDtsServer. Нажмите кнопку Далее.
На странице Репликация реестра нажмите Добавить, чтобы добавить раздел реестра, который идентифицирует расположение файла конфигурации для службы Integration Services. Файл должен быть расположен на общем диске, находящемся в той же группе ресурсов, что и служба Integration Services.
В диалоговом окне Раздел реестра введите SOFTWARE\Microsoft\MSDTS\ServiceConfigFile. Нажмите кнопку ОК, а затем кнопку Готово.
Теперь служба Integration Services добавлена как ресурс кластера.
Настройка службы Integration Services и хранилища пакетов
После того как служба Integration Services была настроена на работу в качестве ресурса кластера, следует произвести изменение расположения и содержимого файла конфигурации службы Integration Services на каждом узле в кластере. После этих изменений и файл конфигурации, и хранилище пакетов будут доступны для всех узлов в случае перехода на другой ресурс. После изменения расположения и содержимого файла конфигурации следует перевести службу в оперативный режим.
Настройка службы Integration Services и хранилища пакетов
Файл конфигурации расположен по пути %ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\MsDtsSrvr.ini.xml. Скопируйте его на общий диск группы, к которой добавлена служба Integration Services.
Создайте на общем диске новую папку под названием Packages, которая будет служить в качестве хранилища папок. Предоставьте подходящим группам и пользователям разрешения на просмотр содержимого и на запись в созданную папку.
Откройте файл конфигурации с общего диска в редакторе текста или XML. Измените значение элемента ServerName, указав имя виртуального SQL Server, относящегося к той же группе ресурсов.
Измените значение элемента StorePath, указав полный путь папки Packages, созданной на общем диске на предыдущем шаге.
Обновите значение **HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\**MSDTS\ServiceConfigFile в системном реестре, указав полный путь и имя файла конфигурации службы на общем диске.
Приведение службы Integration Services в оперативный режим
- В Администраторе кластера выберите службу Integration Services, щелкните ее правой кнопкой мыши и выберите из контекстного меню пункт Перевести в оперативный режим. Теперь служба Integration Services доступна как ресурс кластера.
Подключение к службе Integration Services в кластерной среде
После настройки служб Integration Services в кластере или на любом сервере может возникнуть необходимость настроить разрешения DCOM прежде, чем можно будет подключиться к службе с клиентского компьютера. Дополнительные сведения см. в разделе Подключение к удаленному серверу служб Integration Services.
Служба Integration Services не может делегировать учетные данные. Следовательно, нельзя использовать среду Management Studio для управления пакетами, хранящимися в базе данных msdb, в том случае, если соблюдаются следующие условия.
- Служба Integration Services и SQL Server выполняются на отдельных серверах или виртуальных серверах.
- Клиент, запускающий среду SQL Server Management Studio, находится на третьем компьютером.
Клиент может соединяться с виртуальным сервером, на котором запущены службы Integration Services. Однако этот компьютер не может делегировать учетные данные виртуальному серверу, на котором запущен SQL Server. Такой сценарий называется «двойным прыжком».