Программа dtexec (средства служб SSIS)

Программа командной строки dtexec используется для настройки и выполнения пакетов служб SQL Server Integration Services. Программа dtexec обеспечивает доступ ко всем функциям настройки и выполнения пакетов, таким как соединения, свойства, переменные, ведение журналов, а также индикаторы выполнения. Программа dtexec позволяет загружать пакеты из трех источников: база данных Microsoft SQL Server, службы SSIS и файловая система.

ПримечаниеПримечание

При использовании программы dtexec, поставляемой вместе с SQL Server 2008 для запуска пакета служб SQL Server 2005 Integration Services (SSIS), службы Integration Services временно обновляют пакет до версии служб SQL Server 2008 Integration Services (SSIS). Однако программа dtexec не позволяет сохранить обновленный пакет. Дополнительные сведения об обновлении пакета SQL Server 2005 до SQL Server 2008 см. в разделе Обновление пакетов служб Integration Services.

Рекомендации по установке программы dtexec (средства служб SSIS) на 64-разрядные компьютеры

На 64-разрядном компьютере службы Integration Services производят установку 64-разрядной версии программы dtexec (dtexec.exe). Если нужно запустить определенные пакеты в 32-разрядном режиме, следует установить 32-разрядную версию программы dtexec. Чтобы установить 32-разрядную версию программы dtexec, во время установки необходимо выбрать клиентские средства или среду Business Intelligence Development Studio.

По умолчанию на 64-разрядном компьютере, на котором установлены и 64-разрядная, и 32-разрядная версия программы командной строки служб Integration Services, будет запущена 32-разрядная версия командной строки. 32-разрядная версия запускается, потому что путь к каталогу для 32-разрядной версии появляется в переменной среды PATH перед путем к каталогу для 64-разрядной версии. (Обычно путь к каталогу 32-разрядной версии выглядит следующим образом: <диск>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn, а путь к каталогу 64-разрядной версии — <диск>:\Program Files\Microsoft SQL Server\100\DTS\Binn.)

ПримечаниеПримечание

Если для запуска программы используется агент SQL Server, то он автоматически использует 64-разрядную версию программы. Чтобы определить точное расположение исполняемого файла программы, агент SQL Server использует реестр, а не переменную среды PATH.

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

  • Откройте окно командной строки, измените путь к каталогу, содержащему 64-разрядную версию программы (<диск>:\Program Files\Microsoft SQL Server\100\DTS\Binn), а затем запустите программу из указанного расположения.

  • В командной строке запустите программу, введя полный путь (<диск>:\Program Files\Microsoft SQL Server\100\DTS\Binn) к 64-разрядной версии программы.

  • Окончательно измените порядок путей в переменной среды PATH, поместив в переменной путь к 64-разрядной версии (<диск>:\Program Files\Microsoft SQL Server\100\DTS\Binn) перед путем к 32-разрядной версии (<диск>:\ Program Files(x86)\Microsoft SQL Server\100\DTS\Binn).

dtexec (средства служб SSIS): Этапы выполнения

Программа во время выполнения проходит четыре стадии. Они перечислены далее.

  1. Стадия разбора команды: командная строка производит чтение списка указанных параметров и аргументов. В случае обнаружения параметров /? или /HELP все последующие стадии пропускаются.

  2. Стадия загрузки пакета: происходит загрузка пакета, указанного параметрами /SQL, /FILE или /DTS.

  3. Стадия настройки: параметры обрабатываются в следующем порядке:

    • параметры, устанавливающие флаги, переменные и свойства пакета;

    • параметры, проверяющие номера версии и сборки пакета;

    • параметры, задающие поведение программы во время выполнения, например вывод отчетов.

  4. Стадия проверки и выполнения: Пакет выполняется или проверяется без запуска, если был указан параметр /VALIDATE.

dtexec (средства служб SSIS): Возвращаемые коды завершения

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

Значение

Описание

0

Пакет успешно выполнен.

1

Ошибка выполнения пакета.

3

Выполнение пакета было отменено пользователем.

4

Программе не удалось найти запрошенный пакет. Не удалось найти пакет.

5

Программе не удалось загрузить запрошенный пакет. Не удалось загрузить пакет.

6

Программа обнаружила внутреннюю ошибку синтаксиса или семантики в командной строке.

dtexec (средства служб SSIS): Правила синтаксиса

Все параметры должны начинаться со знака косой черты (/) или знака минуса (-). Показанные здесь параметры начинаются с косой черты (/), которую, однако, можно заменить на знак минуса (-).

Аргумент должен быть заключен в кавычки, если он содержит пробел. Если аргумент не заключен в кавычки, он не может содержать пробелы.

Двойные кавычки в пределах строк, заключенных в кавычки, преобразуются в одиночные кавычки.

Для параметров и аргументов, кроме паролей, регистр символов не учитывается.

Использование программы dtexec (средства служб SSIS) из процедуры xp_cmdshell

Можно запустить программу dtexec из командной строки xp_cmdshell. В следующем примере показан вызов пакета UpsertData.dtsx и пропуск кода возврата:

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

В следующем примере показан вызов этого же пакета и считывание кода возврата:

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
Важное примечаниеВажно!

В Microsoft SQL Server параметр xp_cmdshell на новых установках по умолчанию отключен. Этот режим можно включить запуском системной хранимой процедуры sp_configure. Дополнительные сведения см. в разделе Параметр xp_cmdshell.

Синтаксис

dtexec /option [value] [/option [value]]...

Параметры

Для понимания того, как параметры командной строки, используемые в программе SQL Server 2000dtsrun, соответствуют параметрам командной строки, используемым с программой SQL Serverdtexec, ознакомьтесь с разделом Сопоставление параметров программ dtsrun и dtexec.

Параметр

Описание

/? [option_name]

(Необязательно). Отображает параметры командной строки или справку по указанному option_name и завершает выполнение программы.

При указании аргумента option_namedtexec запускает электронную документацию по SQL Server и отображает раздел Программа dtexec (средства служб SSIS).

/CheckF[ile]filespec

(Необязательно). Задает в качестве значения свойства пакета CheckpointFileName путь и файл, указанные в filespec. Этот файл используется при перезапуске пакета. Если указан этот параметр, но не указано значение для имени файла, то в качестве значения для свойства пакета CheckpointFileName задается пустая строка. Если этот параметр не указан, то значения пакета сохраняются.

/CheckP[ointing]{on\off}

(Необязательно). Устанавливает значение, определяющее, будет ли пакет использовать контрольные точки во время выполнения. Значение «on» указывает, что при неудачном выполнении пакета он будет перезапущен. При повторном запуске пакета после его неудачного выполнения ядро времени выполнения использует файл контрольных точек для повторного запуска пакета с момента возникновения ошибки.

Если параметр объявляется без указания значения, по умолчанию принимается значение «on». Выполнение пакета будет завершено с ошибкой, если значение равно «on», а файл контрольных точек не найден. Если этот параметр не указан, то сохраняется значение, установленное в пакете. Дополнительные сведения см. в разделе Перезапуск завершившихся с ошибкой пакетов с помощью контрольных точек.

Параметр /CheckPointing on программы dtexec аналогичен свойству пакета SaveCheckpoints в значении True и свойству CheckpointUsage в значении Always.

/Com[mandFile]filespec

(Необязательно). Указывает, что на стадии считывания команд открывается программа, указанная в параметре filespec, после чего параметры считываются из этого файла до обнаружения его конца. filespec — это текстовый файл, который содержит дополнительные параметры команды dtexec. Аргумент filespec указывает имя и путь к командному файлу, который связывается с выполнением пакета.

/Conf[igFile]filespec

(Необязательно). Указывает файл конфигурации, из которого происходит извлечение значений. Использование этого параметра позволяет установить конфигурацию времени выполнения, отличную от конфигурации, указанной во время разработки пакета. Можно сохранять различные настройки конфигурации в XML-файле конфигурации, а затем загружать установки с использованием параметра /ConfigFile перед выполнением пакета.

С помощью параметра /ConfigFile можно загрузить во время выполнения дополнительные параметры конфигурации, не указанные во время разработки. Однако с помощью параметра /ConfigFile нельзя заменить значения конфигурации, которые заданы во время разработки. Сведения о применении параметров конфигурации пакета см. в разделах Конфигурации пакета служб SSIS и Изменения в работе служб Integration Services в SQL Server 2008 R2.

/Conn[ection]id_or_name;connection_string [[;id_or_name;connection_string]…]

(Необязательно). Указывает, что диспетчер соединений с указанным именем или идентификатором GUID находится в данном пакете и задает строку соединения.

Этот параметр требует указания обоих параметров: имени или идентификатора GUID диспетчера соединений в аргументе id_or_name и допустимой строки соединения в аргументе connection_string. Дополнительные сведения см. в разделе Соединения служб Integration Services.

Во время выполнения можно использовать параметр /Connection, чтобы загрузить параметры конфигурации пакета из расположения, отличного от места, указанного во время разработки. Затем значения этих параметров конфигурации заменяют первоначально указанные значения. При этом параметр /Connection можно использовать только для параметров конфигурации, использующих диспетчер соединений, например параметров конфигурации SQL Server. Сведения о применении параметров конфигурации пакета см. в разделах Конфигурации пакета служб SSIS и Изменения в работе служб Integration Services в SQL Server 2008 R2.

/Cons[oleLog] [[displayoptions];[list_options;src_name_or_guid]...]

(Необязательно). Показывает в консоли во время выполнения пакета указанные записи журнала. При отсутствии этого параметра записи журнала в консоли не показываются. Если этот параметр указан без задания максимального числа записей, то будут показаны все записи журнала. Для ограничения отображаемых в консоли записей можно указать отображаемые столбцы с помощью параметра displayoptions и ограничить типы записей журнала с помощью параметра list_options.

Параметр displayoptions имеет следующие значения:

  • N (Имя);

  • C (Компьютер);

  • O (Оператор);

  • S (Имя источника);

  • G (Идентификатор GUID источника);

  • X (Идентификатор GUID процесса выполнения);

  • M (Сообщение);

  • T (Время запуска и окончания).

Параметр list_options имеет следующие значения.

  • I. Определяет содержание списка включений. Регистрируются только указанные имена или идентификаторы GUID источников.

  • E. Определяет содержание списка включений. Указанные имена или идентификаторы GUID источников не регистрируются.

  • Параметр src_name_or_guid, указанный для включения или исключения, является именем события, именем источника либо идентификатором GUID источника.

При использовании нескольких параметров /ConsoleLog в одной и той же командной строке они взаимодействуют следующим образом:

  • порядок их появления не имеет значения;

  • если в командной строке нет списка включений, то списки исключений применяются ко всем типам записей журнала;

  • если в командной строке есть список включений, то списки исключений применяются к объединению всех списков включения.

Некоторые примеры использования параметра /ConsoleLog см. в разделе Примечания.

/D[ts]package_path

(Необязательно). Загружает пакет из хранилища пакетов служб SSIS. Аргумент package_path указывает относительный путь к пакету SSIS, начиная с корневой папки хранилища пакетов служб SSIS, а также содержит имя пакета SSIS. Если путь или имя файла, указанные в аргументе package_path, содержат пробел, то аргумент package_path необходимо заключить в кавычки.

Параметр /DTS не может использоваться одновременно с параметрами /File или /SQL. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой.

/De[crypt] password

(Необязательно). Задает пароль для расшифровки, используемый при загрузке пакета с шифрованием пароля.

/Dumperror code

(Необязательно) Создает отладочные файлы дампа MDMP и TMP, если во время работы пакета происходит одно или несколько указанных событий. Аргумент error code указывает тип кода события — ошибка, предупреждение или информация, — при наступлении которого система создаст отладочные файлы дампа. Чтобы задать несколько кодов событий, отделите каждый аргумент error code точкой с запятой (;).

По умолчанию службы Integration Services хранят отладочные файлы дампа в папке <диск>:\Program Files\Microsoft SQL Server\100\Shared\ErrorDumps.

ПримечаниеПримечание
Отладочные файлы дампа могут содержать конфиденциальные сведения. Скопируйте файлы в папку с ограниченным доступом или ограничьте доступ к ним при помощи списка управления доступом (ACL). В частности, перед посылкой отладочных файлов в службу технической поддержки Майкрософт рекомендуется удалить из них все конфиденциальные сведения.

Чтобы применить этот параметр ко всем пакетам, запускаемым с помощью программы dtexec, добавьте значение DumpOnCodes типа REG_SZ в раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\Setup\DtsPath». Значение данных DumpOnCodes указывает код или коды ошибки, которые заставят систему создать отладочные файлы дампа. Если кодов ошибки несколько, их разделяют точкой с запятой (;).

Если добавить значение DumpOnCodes в раздел реестра и использовать параметр /Dump, система будет создавать отладочные файлы дампа на основе обоих параметров.

Дополнительные сведения об отладочных файлах дампа см. в разделе Работа с файлами дампа отладки.

/DumpOnError

(Необязательно) Создает отладочные файлы дампа MDMP и TMP, если во время работы пакета происходит любая ошибка.

По умолчанию службы Integration Services хранят отладочные файлы дампа в папке <диск>:\Program Files\Microsoft SQL Server\100\Shared\ErrorDumps.

ПримечаниеПримечание
Отладочные файлы дампа могут содержать конфиденциальные сведения. Скопируйте файлы в папку с ограниченным доступом или ограничьте доступ к ним при помощи списка управления доступом (ACL). В частности, перед посылкой отладочных файлов в службу технической поддержки Майкрософт рекомендуется удалить из них все конфиденциальные сведения.

Чтобы применить этот параметр ко всем пакетам, запускаемым с помощью программы dtexec, добавьте значение DumpOnError типа REG_DWORD в раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\SSIS\Setup\DtsPath». Значение DumpOnError типа REG_DWORD указывает, нужно ли использовать параметр /DumpOnError с программой dtexec.

  • Ненулевое значение данных обозначает, что система будет создавать отладочные файлы дампа при возникновении любой ошибки, независимо от того, используется ли параметр /DumpOnError с программой dtexec.

  • Нулевое значение данных указывает, что система будет создавать отладочные файлы дампа при возникновении ошибки только при использовании параметра /DumpOnError с программой dtexec.

Дополнительные сведения об отладочных файлах дампа см. в разделе Работа с файлами дампа отладки.

/F[ile]filespec

(Необязательно). Производит загрузку пакета, сохраненного в файловой системе. Аргумент filespec определяет путь и имя файла пакета. Можно указывать либо путь в формате UNC, либо локальный путь. Если путь или имя файла, указанные в аргументе filespec, содержат пробел, то аргумент filespec необходимо заключить в кавычки.

Параметр /File не может использоваться одновременно с параметрами /DTS или /SQL. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой.

/H[elp] [option_name]

(Необязательно). Отображает справку по параметрам командной строки или справку по указанному параметру option_name и завершает выполнение программы.

При указании аргумента option_namedtexec запускает электронную документацию по SQL Server и отображает раздел Программа dtexec (средства служб SSIS).

/L[ogger]classid_orprogid;configstring

(Необязательно). Связывает один или более регистраторов с выполнением пакета служб SSIS. Параметр classid_orprogid определяет регистратор и может быть указан в виде идентификатора GUID класса. configstring представляет собой строку, применяемую при настройке регистратора.

Следующий список содержит доступные типы регистраторов.

  • Текстовый файл:

    • идентификатор ProgID: DTS.LogProviderTextFile.1;

    • идентификатор ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}.

  • Приложение SQL Server Profiler:

    • идентификатор ProgID: DTS.LogProviderSQLProfiler.1;

    • идентификатор ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}.

  • SQL Server:

    • идентификатор ProgID: DTS.LogProviderSQLServer.1;

    • идентификатор ClassID: {6AA833A1-E4B2-4431-831B-DE695049DC61}.

  • Журнал событий Windows:

    • идентификатор ProgID: DTS.LogProviderEventLog.1;

    • идентификатор ClassID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}.

  • XML-файл:

    • идентификатор ProgID: DTS.LogProviderXMLFile.1;

    • идентификатор ClassID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}.

/M[axConcurrent]concurrent_executables

(Необязательно). Указывает количество исполняемых файлов, которые пакет может запускать одновременно. Указанное значение должно быть положительным целым числом или -1. Значение -1 указывает на то, что службы SSIS устанавливают максимальное количество одновременно запускаемых пакетом исполняемых файлов, равное общему числу процессоров компьютера, на котором запускается пакет, плюс два.

/P[assword]password

(Необязательно). Позволяет получить пакет, защищенный проверкой подлинности SQL Server. Этот параметр используется совместно с параметром /User. Если параметр /Password отсутствует, но используется параметр /User, то применяется пустой пароль. Значение password может быть заключено в кавычки.

Примечание по безопасностиПримечание по безопасности
По возможности используйте проверку подлинности Windows.

/Remcomment

(Необязательно). Содержит примечания о командной строке или командных файлах. Аргумент не обязателен. Значение comment является строкой, которая должна либо быть заключена в кавычки, либо не содержать пробелов. Если аргумент не указан, то вставляется пустая строка. На стадии разбора команды значения comment отменяются.

/Rep[orting]level [;event_guid_or_name[;event_guid_or_name[...]]

(Необязательно). Определяет, какие типы сообщений включаются в отчет. Ниже приводятся доступные параметры отчета для level.

N — отчет не выводится.

E — выводятся сообщения об ошибках.

W — выводятся предупреждения.

I — выводятся информационные сообщения.

C — выводятся сообщения о пользовательских событиях.

D — выводятся сообщения о событиях задачи потока данных.

P — отображается ход процесса выполнения.

V — отображаются подробные сообщения.

Аргументы V и N являются взаимоисключающими по отношению ко всем остальным аргументам, их следует указывать отдельно. Если параметр /Reporting не указан, то по умолчанию используются значения E (ошибки), W (предупреждения) и P (ход процесса).

В начале всех событий ставится отметка времени в формате «ГГ/ММ/ДД ЧЧ:ММ:СС», а также идентификатор GUID или понятное имя, если такое имеется.

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

Не нужно исключать событие, если обычно оно не регистрируется по умолчанию.

/Res[tart] {deny | force | ifPossible}

(Необязательно). Определяет новое значение свойства CheckpointUsage пакета. Параметры имеют следующие значения.

Deny — устанавливает значение свойства CheckpointUsage равным DTSCU_NEVER.

Force — устанавливает значение свойства CheckpointUsage равным DTSCU_ALWAYS.

ifPossible — устанавливает значение свойства CheckpointUsage равным DTSCU_IFEXISTS.

Если никакое значение не указано, то используется значение по умолчанию, равное «force».

/SetpropertyPath;value

(Необязательно). Переопределяет конфигурацию переменной, свойства, контейнера, регистратора, перечислителя Foreach или соединения в пакете. При использовании этого параметра /Set изменяет аргумент propertyPath на указанное значение. Можно указать несколько параметров /Set.

Можно определить значение propertyPath, запустив мастер настройки пакета. Пути для выбираемых элементов отображаются на последней странице Завершение работы мастера и могут быть скопированы в буфер обмена, а затем вставлены из него. Если мастер использовался только для этого, то его действия можно отменить после копирования путей в буфер.

Далее приводится пример выполнения пакета и ввода нового значения переменной:

dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

С помощью параметра /Set можно изменить расположение, из которого загружаются параметры конфигурации пакета, однако нельзя переопределить значение, указанное в параметре конфигурации во время разработки. Сведения о применении параметров конфигурации пакета см. в разделах Конфигурации пакета служб SSIS и Изменения в работе служб Integration Services в SQL Server 2008 R2.

/Ser[ver]server

(Необязательно). Используется при указании параметров /SQL или /DTS. Этот параметр задает имя сервера, с которого происходит получение пакета. В случае отсутствия параметра /Server и указания параметров /SQL или /DTS производится попытка выполнения пакета на локальном сервере. Значение server_instance может быть заключено в кавычки.

/SQ[L]package_path

Производит загрузку пакета, хранимого в SQL Server. Аргумент package_path задает имя получаемого пакета. В случае наличия в пути папок их имена должны завершаться обратной косой чертой ("\"). Значение package_path может быть заключено в кавычки. Если путь или имя файла, указанные в аргументе package_path, содержат пробел, то аргумент package_path необходимо заключить в кавычки.

Можно использовать параметры /User, /Password и /Server совместно с параметром /SQL.

В случае отсутствия параметра /User для доступа к пакету используется проверка подлинности Windows. При использовании параметра /User указанное имя входа /User понимается в смысле проверки подлинности SQL Server.

Параметр /Password используется только совместно с параметром /User. В случае использования параметра /Password доступ к пакету осуществляется с применением предоставленных сведений об имени пользователя и пароле. При отсутствии параметра /Password будет использоваться пустой пароль.

Примечание по безопасностиПримечание по безопасности
По возможности используйте проверку подлинности Windows.

При отсутствии параметра /Server подразумевается использование локального экземпляра SQL Server по умолчанию.

Параметр /SQL не может использоваться одновременно с параметрами /DTS или /File. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой.

/Su[m]

(Необязательно). Выводит добавочный счетчик, содержащий количество строк, которые будут получены следующим компонентом.

/U[ser]user_name

(Необязательно). Позволяет получить пакет, защищенный проверкой подлинности SQL Server. Этот параметр используется только в случае указания параметра /SQL. Значение user_name может быть заключено в кавычки.

Примечание по безопасностиПримечание по безопасности
По возможности используйте проверку подлинности Windows.

/Va[lidate]

(Необязательно). Останавливает выполнение пакета по завершении стадии проверки без фактического запуска пакета. В режиме проверки указание параметра /WarnAsError приводит к тому, что программа dtexec рассматривает предупреждения как ошибки, поэтому пакет завершает работу с ошибкой в случае появления предупреждения в ходе проверки.

/VerifyB[uild]major[;minor[;build]]

(Необязательно). Проверяет соответствие номера сборки пакета номерам сборки, указанным на стадии проверки в аргументах major, minor и build. В случае несоответствия пакет выполняться не будет.

Тип значений — long integer. Аргумент может иметь одну из трех форм, причем значение major требуется всегда:

  • major

  • major;minor

  • major; minor; build

/VerifyP[ackageID]packageID

(Необязательно). Проверяет идентификатор GUID выполняемого пакета, сравнивая его со значением, указанным в аргументе package_id.

/VerifyS[igned]

(Необязательно). При указании этого параметра службы Integration Services будут проверять цифровую подпись пакета. Если пакет не подписан или подпись недопустима, работа пакета завершается ошибкой. Дополнительные сведения см. в разделе Использование цифровых подписей с пакетами.

Важное примечаниеВажно!
Если службы Integration Services настроены для проверки подписи пакета, они проверяют только наличие подписи, допустима ли она и исходит ли из доверенного источника. Службы Integration Services не проверяют, изменился ли пакет.
ПримечаниеПримечание
Дополнительный раздел реестра BlockedSignatureStates может задавать значение, накладывающее более строгое ограничение, чем параметр цифровой подписи, задаваемый в среде Business Intelligence Development Studio или программе командной строки dtexec. В этом случае значение в реестре переопределяет другие параметры.

/VerifyV[ersionID]versionID

(Необязательно). Проверяет версию идентификатора GUID выполняемого пакета, сравнивая его со значением, указанным в аргументе version_id на стадии проверки пакета.

/VLog[Filespec]

(Необязательно) Все события пакета служб Integration Services записываются в регистраторы, включенные при разработке пакета. Чтобы службы Integration Services включили регистратор для текстовых файлов, и чтобы записывать события журнала в указанный текстовый файл, укажите путь и имя файла в качестве параметра Filespec.

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

/W[arnAsError]

(Необязательно). Приводит к тому, что пакет рассматривает предупреждения в качестве ошибок, поэтому при наличии предупреждения в ходе проверки выполнение пакета завершается с ошибкой. В случае отсутствия предупреждений во время проверки подлинности и при отсутствии параметра /Validate происходит выполнение пакета.

/X86

(Необязательно). В результате агент SQL Server запускает пакет на 64-разрядном компьютере в 32-разрядном режиме. Этот параметр устанавливается агентом SQL Server, когда выполняются следующие условия.

  • Тип шага задания — Пакет служб SQL Server Integration Services.

  • Выбран параметр Использовать 32-разрядную среду выполнения на вкладке Параметры выполнения диалогового окна Создание шага задания.

Этот параметр также можно установить для шага задания агента SQL Server, используя хранимые процедуры SMO для программного создания задания. 

Этот параметр используется агентом SQL Server. При запуске программы dtexec из командной строки этот параметр пропускается.

Замечания

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

  • Параметры обрабатываются в порядке их обнаружения в командной строке. Командные файлы считываются, если они обнаружены в командной строке. Команды в этих файлах также обрабатываются в порядке их следования.

  • Если в одной и той же инструкции командной строки один и тот же параметр или переменная указаны более одного раза, то преимущество имеет последний из параметров.

  • Параметры /Set и /ConfigFile обрабатываются в порядке, в котором они встречаются.

dtexec (средства служб SSIS): Примеры

Выполнение пакетов служб SSIS

Чтобы выполнить пакет служб SSIS, сохраненный в SQL Server с использованием проверки подлинности Windows, используйте следующий код:

dtexec /sq pkgOne /ser productionServer

Пакет служб SSIS, сохраненный в папке «SSIS Package Store» файловой системы, выполняется с помощью следующего кода:

dtexec /dts "\File System\MyPackage"

Чтобы проверить правильность пакета, использующего проверку подлинности Windows и хранимого в SQL Server, не запуская сам пакет, используйте следующий код:

dtexec /sq pkgOne /ser productionServer /va

Чтобы выполнить пакет служб SSIS, сохраненного в файловой системе, используйте следующий код:

dtexec /f "c:\pkgOne.dtsx" 

Чтобы выполнить пакет служб SSIS, сохраненный в файловой системе, и указать параметры ведения журнала, используйте следующий код:

dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"

Чтобы выполнить пакет, использующий проверку подлинности Windows и хранимый в локальном экземпляре SQL Server по умолчанию, и проверить версию пакета перед его выполнением, используйте следующий код:

dtexec /sq pkgOne /verifyv {c200e360-38c5-11c5-11ce-ae62-08002b2b79ef}

Чтобы выполнить пакет служб SSIS, хранимый в файловой системе и настроенный извне, используйте следующий код:

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"
ПримечаниеПримечание

Аргументы package_path и filespec параметров /SQL, /DTS и /FILE должны быть заключены в кавычки, если путь или имя файла содержит пробел. Если аргумент не заключен в кавычки, он не может содержать пробелы.

Параметр ведения журнала

Предположим, что существуют три типа входных записей журнала: A, B и C. Следующий аргумент ConsoleLog без указания параметра отображает все три типа записей со всеми полями:

/CONSOLELOG

Следующий параметр отображает все типы журналов, но только со столбцами «Имя» и «Сообщение»:

/CONSOLELOG NM

Следующий параметр отображает все столбцы, но только для записей журнала типа A:

/CONSOLELOG I;LogEntryTypeA

Следующий параметр отображает записи журнала только типа А со столбцами «Имя» и «Сообщение»:

/CONSOLELOG NM;I;LogEntryTypeA

Следующий параметр отображает записи журнала типов А и B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

Другим способом те же самые результаты можно получить с использованием нескольких параметров ConsoleLog:

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

Если режим ConsoleLog используется без параметров, то выводятся все поля. Включение параметра list_options приводит к отображению только записей журнала типа A со всеми полями:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

В следующем примере отображаются все записи в журнале, за исключением записей типа А: то есть отображаются записи журнала типа В и С:

/CONSOLELOG E;LogEntryTypeA

Другим способом те же самые результаты можно получить с использованием нескольких параметров ConsoleLog и единственного исключения:

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG E;LogEntryTypeA
/CONSOLELOG E;LogEntryTypeA;LogEntryTypeA

Следующий пример не отображает сообщения журнала, поскольку если тип файла журнала присутствует одновременно в списке исключения и списке включения, то этот тип файлов исключается.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

Параметр SET

В следующем примере показано использование параметра /SET, который позволяет изменять значение любого свойства или переменной пакета при запуске пакета из командной строки.

/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue
Значок служб Integration Services (маленький) Оставайтесь в курсе новых возможностей служб Integration Services

Чтобы получить новейшую документацию, статьи, образцы и видеоматериалы корпорации Майкрософт, а также лучшие решения участников сообщества, посетите страницу служб Integration Services на сайте MSDN:


Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.