Использование служб Integration Services на 64-разрядных компьютерах

Изменения: 15 сентября 2007 г.

64-разрядные выпуски Microsoft SQL Server 2005 включают службы Integration Services, но некоторые функции служб Integration Services доступны только в 32-разрядных версиях, имеют ограничения на 64-разрядных компьютерах или не поддерживаются в операционных системах на основе Itanium.

Дополнительные сведения о функциях, включенных в различные выпуски SQL Server 2005, см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2005.

Установка служб Integration Services на 64-разрядных компьютерах

Функциональные возможности служб Integration Services, установленных на 64-разрядных компьютерах

Если при установке SQL Server 2005 были выбраны и службы Integration Services, и среда Business Intelligence Development Studio, все доступные 32-разрядные и 64-разрядные функции служб Integration Services времени проектирования и времени выполнения будут установлены. При установке служб Integration Services устанавливаются также средства 32-разрядной поддержки времени выполнения для пакетов DTS SQL Server 2000.

64-разрядные функции устанавливаются в каталог Program Files, а 32-разрядные — отдельно в каталог Program Files (x86) (это одинаково и для служб Integration Services, и для SQL Server 2005).

ms141766.note(ru-ru,SQL.90).gifВажно!
Среда Business Intelligence Development Studio, 32-разрядная среда разработки для пакетов служб Integration Services, не поддерживается на 64-разрядных платформах Itanium и не устанавливается на серверы на базе процессоров Itanium.

64-разрядные версии средств служб Integration Services

Следующие средства служб Integration Services имеют 64-разрядные версии.

  • Программа dtexec (dtexec.exe).
  • Программа dtutil (dtutil.exe).
  • Мастер импорта и экспорта SQL Server (DTSWizard.exe).
ms141766.note(ru-ru,SQL.90).gifПримечание.
При разработке и проверке команд с помощью программы выполнения пакетов (dtexecui.exe) на 64-разрядном компьютере необходимо помнить, что 32-разрядное средство запускает пакеты в 32-разрядном режиме. Перед развертыванием или планированием выполнения команд на рабочем сервере необходимо проверить эти команды в 64-разрядном режиме с использованием 64-разрядной версии программы dtexec.exe.

Проблема, возникающая при установке задачи «Очередь сообщений»

С помощью COM+ можно зарегистрировать только одну версию задачи «Очередь сообщений» служб SQL Server. Поэтому если 64-разрядная версия служб SQL Server установлена на 64-разрядном компьютере, задачу «Очередь сообщений» можно использовать только в пакетах, выполняющихся в 64-разрядном режиме. Использовать задачу «Очередь сообщений» в пакетах, выполняющихся в 32-разрядном режиме, нельзя.

Если 32-разрядная версия служб SQL Server установлена на 64-разрядном компьютере, задачу «Очередь сообщений» можно использовать только в пакетах, выполняющихся в 32-разрядном режиме. Использовать задачу «Очередь сообщений» в пакетах, выполняющихся в 64-разрядном режиме, нельзя.

Поддержка служб DTS на 64-разрядных компьютерах

Поддержка 64-разрядных функций времени проектирования и времени выполнения для пакетов служб DTS, созданных в предыдущих версиях служб SQL Server, отсутствует. Дополнительные сведения см. в разделе Обратная совместимость служб SQL Server 2005 Integration Services.

Разработка пакетов Integration Services на 64-разрядных компьютерах

Нельзя разрабатывать пакеты в среде BI Development Studio или отлаживать сценарии в задаче «Сценарий» в операционных системах на базе процессора Itanium.

При запуске пакета в 64-разрядном режиме может оказаться, что отсутствует возможность соединения с таким количеством источников данных, как при запуске пакета в 32-разрядном режиме. Некоторые поставщики данных .NET Framework и собственные поставщики данных OLE DB могут оказаться недоступными в 64-разрядных версиях. Например, поставщик OLE DB для Jet (Microsoft), который соединяется с базами данных Access и электронными таблицами Excel, недоступен в 64-разрядной версии.

32-разрядный конструктор служб SSIS отображает только 32-разрядных поставщиков, установленных на локальном компьютере. Чтобы настроить диспетчер соединений для использования конкретного 64-разрядного поставщика, необходимо установить 32-разрядную версию поставщика на компьютере разработчика для применения во время разработки. Даже если установлена 32-разрядная версия поставщика, остается возможность запускать пакет в 64-разрядном режиме как в среде разработки, так и после развертывания. И 32-разрядные, и 64-разрядные версии поставщика имеют один и тот же идентификатор. Поэтому среда выполнения служб SSIS выбирает подходящую для использования версию поставщика. Например, предположим, что пакет запускается в среде разработки на 64-разрядном компьютере. По умолчанию в пакете используется 64-разрядная версия поставщика, поскольку по умолчанию свойство проекта Run64BitRuntime имеет значение True.

Нельзя запускать пакеты, содержащие сценарии, например в задачах сценариев или компонентах сценариев, в 64-разрядном режиме, пока эти сценарии не будут предварительно скомпилированы. По умолчанию значение свойства PreCompile равно True и для задач сценариев, и для компонента сценариев.

Нельзя использовать задачу «Выполнение пакета служб DTS 2000» в пакете, выполняемом в 64-разрядном режиме. Среда выполнения служб DTS SQL Server 2000 недоступна в 64-разрядной версии.

Запуск пакетов служб Integration Services на 64-разрядных компьютерах

Иногда возникает необходимость запускать пакеты в 32-разрядном режиме, чтобы запускать нескомпилированные сценарии, запускать пакеты служб DTS SQL Server 2000 или использовать управляемый поставщик данных .NET Framework либо собственный поставщик данных OLE DB, недоступные в 64-разрядной версии.

Выбор 32-разрядного или 64-разрядного режима выполнения пакета в конструкторе служб SSIS

В Свойствах проекта пакета служб Integration Services можно выбрать 32-разрядный или 64-разрядный режим выполнения, задавая значение свойства Run64BitRuntime на странице Отладка. По умолчанию значение этого свойства — True. Если 64-разрядная версия среды выполнения служб Integration Services не установлена, данный параметр не учитывается.

ms141766.note(ru-ru,SQL.90).gifПримечание.
Свойство проекта Run64BitRuntime применяется только во время разработки.

Выбор 32-разрядного или 64-разрядного режима выполнения пакета в задании агента SQL Server

При настройке задания агента SQL Server с шагом типа Пакет служб SQL Server Integration Services Package данное задание всегда запускает пакет в 64-разрядном режиме на 64-разрядном компьютере, поскольку этот шаг вызывает 64-разрядную версию программы dtexec.exe для запуска этого пакета. Подразумевается, что установлены и запускаются 64-разрядные версии SQL Server 2005 и агента SQL Server на 64-разрядном компьютере. Если установлены и запускаются 32-разрядные версии SQL Server 2005 и агента SQL Server на 64-разрядном компьютере, данный тип этапа запускает 32-разрядную версию dtexec.exe для выполнения этого пакета.

Чтобы запускать пакеты из задания 64-разрядного агента SQL Server в 32-разрядном режиме, выберите тип шага задания Операционная система и введите команду в командной строке или используйте пакетный файл, вызывающий 32-разрядную версию dtexec.exe. Для формирования командной строки можно использовать программу dtexecui.exe, а затем скопировать эту командную строку и вставить ее в шаг задания.

Журнал изменений

Версия Журнал

15 сентября 2007 г.

Изменения
  • Внесены пояснения по поводу доступности источников данных, а также того, как работают поставщики в 64-разрядной среде разработки.

5 декабря 2005 г.

Изменения
  • Указано, что среда Business Intelligence Development Studio не работает на платформе с архитектурой Itanium.
  • Указано, что программа dtexecui.exe выполняется только в 32-разрядном режиме и пакеты необходимо проверять в 64-разрядном режиме.
  • Описана известная проблема с задачей «Очередь сообщений».
  • Указано, что поставщик OLE DB для Jet (Microsoft), используемый для работы с базами данных Access и Excel, недоступен в 64-разрядной версии.