Программа dtexec
Программа командной строки dtexec используется для настройки и выполнения пакетов служб SQL Server Службы Integration Services. Служебная программа dtexec обеспечивает доступ ко всем функциям настройки и выполнения пакетов, таким как параметры, подключения, свойства, переменные, средства ведения журналов и индикаторы выполнения. Программа dtexec позволяет загружать пакеты из следующих источников: сервер служб Службы Integration Services, файл проекта ISPAC, база данных Microsoft SQL Server, хранилище пакетов служб SSIS, файловая система.
Примечание |
---|
При использовании версии программы dtexec, поставляемой вместе с Службы SQL Server 2012 Integration Services (SSIS) для запуска пакета служб Службы SQL Server 2005 Integration Services (SSIS) или Службы SQL Server 2008 Integration Services (SSIS), служба Службы Integration Services временно обновляет пакет до версии служб Службы SQL Server 2012 Integration Services (SSIS). Однако программа dtexec не позволяет сохранить обновленный пакет. Дополнительные сведения об окончательном обновлении пакета до Службы SQL Server 2012 Integration Services (SSIS) см. в разделе Обновление пакетов служб Integration Services. |
Этот раздел включает следующие подразделы:
Integration Services Server and Project File
Installation Considerations on 64-bit Computers
Considerations for Side-by-Side Installations
Phases of Execution
Exit Codes Returned
Syntax Rules
Using dtexec from the xp_cmdshell
Syntax
Parameters
Remarks
Examples
Сервер служб Integration Services и файл проекта
При использовании программы dtexec для запуска пакетов на сервере служб Службы Integration Services, программа dtexec вызывает методы catalog.create_execution (база данных SSISDB), catalog.set_execution_parameter_value (база данных SSISDB) и хранимые процедуры catalog.start_execution (база данных SSISDB) для создания выполняемой задачи, установки значений параметров и запуска задачи. Все журналы выполнения можно просматривать на сервере в соответствующих представлениях или с помощью стандартных отчетов, доступных в среде SQL Server Management Studio. Дополнительные сведения об отчетах см. в разделе Отчеты для сервера служб Integration Services.
Ниже приводится пример выполнения пакета на сервере служб Службы Integration Services.
DTExec /ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" /SERVER "." /Envreference 2 /Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 /Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb /Par "$ServerOption::SYNCHRONIZED(Boolean)";True
При использовании программы dtexec для запуска пакета из файла проекта ISPAC указываются параметры /Proj[ect] и /Pack[age], которые используются для указания пути к пакету и имени потока пакета. При преобразовании проекта в модель развертывания пакета путем запуска Мастера преобразования проекта служб Integration Services в среде SQL Server Management Studio, мастер создает файл проекта ISPAC. Дополнительные сведения см. в разделе Развертывание проектов на сервере служб Integration Services.
Вместе с программй dtexec можно использовать стороние средства для планирования времени запуска пакетов, развернутых на сервере служб Службы Integration Services.
Вопросы установки на 64-разрядные компьютеры
На 64-разрядном компьютере службы Службы Integration Services производят установку 64-разрядной версии программы dtexec (dtexec.exe). Если нужно запустить определенные пакеты в 32-разрядном режиме, следует установить 32-разрядную версию программы dtexec. Чтобы установить 32-разрядную версию программы dtexec, во время установки необходимо выбрать клиентские средства или среду SQL Server Data Tools (SSDT).
По умолчанию на 64-разрядном компьютере, на котором установлены и 64-разрядная, и 32-разрядная версия программы командной строки служб Службы Integration Services, будет запущена 32-разрядная версия командной строки. 32-разрядная версия запускается, потому что путь к каталогу для 32-разрядной версии появляется в переменной среды PATH перед путем к каталогу для 64-разрядной версии. (Обычно путь к каталогу 32-разрядной версии выглядит следующим образом: <диск>:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn, а путь к каталогу 64-разрядной версии — <диск>:\Program Files\Microsoft SQL Server\110\DTS\Binn.)
Примечание |
---|
Если для запуска программы используется агент SQL Server, то он автоматически использует 64-разрядную версию программы. Чтобы определить точное расположение исполняемого файла программы, агент SQL Server использует реестр, а не переменную среды PATH. |
Чтобы убедиться, что в командной строке запущена 64-разрядная версия программы, выполните одно из следующих действий.
Откройте окно командной строки, измените путь к каталогу, содержащему 64-разрядную версию программы (<диск>:\Program Files\Microsoft SQL Server\110\DTS\Binn), а затем запустите программу из указанного расположения.
В командной строке запустите программу, введя полный путь (<диск>:\Program Files\Microsoft SQL Server\110\DTS\Binn) к 64-разрядной версии программы.
Окончательно измените порядок путей в переменной среды PATH, поместив в переменной путь к 64-разрядной версии (<диск>:\Program Files\Microsoft SQL Server\110\DTS\Binn) перед путем к 32-разрядной версии (<диск>:\ Program Files(x86)\Microsoft SQL Server\110\DTS\Binn).
Рекомендации для компьютеров, где проведены параллельные установки
Если Службы SQL Server 2012 Integration Services (SSIS) установлено на компьютере, где установлено Службы SQL Server 2005 Integration Services (SSIS) или Службы SQL Server 2008 Integration Services (SSIS), устанавливаются несколько версий программы dtexec.
Чтобы убедиться в том, что запускается правильная версия программы, в командной строке запустите программу, введя полный путь (<drive>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn).
Этапы выполнения
Программа во время выполнения проходит четыре стадии. Они перечислены далее.
Стадия разбора команды: командная строка производит чтение списка указанных параметров и аргументов. В случае обнаружения параметров /? или /HELP все последующие стадии пропускаются.
Стадия загрузки пакета: происходит загрузка пакета, указанного параметрами /SQL, /FILE или /DTS.
Стадия настройки: параметры обрабатываются в следующем порядке:
параметры, устанавливающие флаги, переменные и свойства пакета;
параметры, проверяющие номера версии и сборки пакета;
параметры, задающие поведение программы во время выполнения, например вывод отчетов.
Стадия проверки и выполнения: пакет выполняется или проверяется без запуска, если был указан параметр /VALIDATE.
Возвращаемые коды завершения
Коды завершения, возвращаемые программой dtexec
При выполнении пакета dtexec может вернуть код завершения. Код завершения используется для заполнения переменной ERRORLEVEL, значение которой впоследствии можно будет проверить в условных инструкциях или логике ветвления в пакетном файле. В следующей таблице перечисляются значения, которые программа dtexec может вернуть при завершении.
Значение |
Описание |
---|---|
0 |
Пакет успешно выполнен. |
1 |
Ошибка выполнения пакета. |
3 |
Выполнение пакета было отменено пользователем. |
4 |
Программе не удалось найти запрошенный пакет. Не удалось найти пакет. |
5 |
Программе не удалось загрузить запрошенный пакет. Не удалось загрузить пакет. |
6 |
Программа обнаружила внутреннюю ошибку синтаксиса или семантики в командной строке. |
Правила синтаксиса
Синтаксические правила программы
Все параметры должны начинаться со знака косой черты (/) или знака минуса (-). Показанные здесь параметры начинаются с косой черты (/), которую, однако, можно заменить на знак минуса (-).
Аргумент должен быть заключен в кавычки, если он содержит пробел. Если аргумент не заключен в кавычки, он не может содержать пробелы.
Двойные кавычки в пределах строк, заключенных в кавычки, преобразуются в одиночные кавычки.
Для параметров и аргументов, кроме паролей, регистр символов не учитывается.
Использование программы dtexec из процедуры xp_cmdshell
Использование программы dtexec из процедуры 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]]...
Параметры
Вариант |
Описание |
||||
---|---|---|---|---|---|
/?[option_name] |
(Необязательно.) Отображает параметры командной строки или справку по указанному параметру option_name и завершает выполнение программы. При указании аргумента option_name dtexec запускает электронную документацию по SQL Server и отображает раздел "Служебная программа dtexec". |
||||
/Ca[llerInfo] |
(Необязательно.) Задает дополнительные сведения для выполнения пакета. При запуске пакета при помощи агента SQL Server агент устанавливает этот аргумент, чтобы он указывал, что выполнение пакета вызывается агентом SQL Server. Этот параметр не учитывается, если служебная программа dtexec запускается из командной строки. |
||||
/CheckF[ile] filespec |
(Необязательно.) Задает в качестве значения свойства пакета CheckpointFileName путь и файл, указанные в filespec. Этот файл используется при перезапуске пакета. Если указан этот параметр, но не указано значение для имени файла, в качестве значения для свойства пакета CheckpointFileName используется пустая строка. Если этот параметр не указан, то значения пакета сохраняются. |
||||
/CheckP[ointing]{on\off} |
(Необязательно.) Устанавливает значение, определяющее, будет ли пакет использовать контрольные точки во время выполнения. Значение «on» указывает, что при неудачном выполнении пакета он будет перезапущен. При повторном запуске пакета после его неудачного выполнения ядро времени выполнения использует файл контрольных точек для повторного запуска пакета с момента возникновения ошибки. Если параметр объявляется без указания значения, по умолчанию принимается значение «on». Выполнение пакета будет завершено с ошибкой, если значение равно «on», а файл контрольных точек не найден. Если этот параметр не указан, то сохраняется значение, установленное в пакете. Дополнительные сведения см. в разделе Перезапуск пакетов с помощью контрольных точек. Параметр /CheckPointing on программы dtexec аналогичен свойству пакета SaveCheckpoints в значении True и свойству CheckpointUsage в значении Always. |
||||
/Com[mandFile] filespec |
(Необязательно.) Указывает параметры команд, выполняемых с dtexec. Файл, указанный в filespec, открыт, и параметры файла считываются из этого файла до обнаружения EOF. filespec является текстовым файлом. Аргумент filespec указывает имя и путь к командному файлу, который связывается с выполнением пакета. |
||||
/Conf[igFile] filespec |
(Необязательно.) Указывает файл конфигурации, из которого происходит извлечение значений. Использование этого параметра позволяет установить конфигурацию времени выполнения, отличную от конфигурации, указанной во время разработки пакета. Можно сохранять различные настройки конфигурации в XML-файле конфигурации, а затем загружать установки с использованием параметра /ConfigFile перед выполнением пакета. С помощью параметра /ConfigFile можно загрузить во время выполнения дополнительные параметры конфигурации, не указанные во время разработки. Однако с помощью параметра /ConfigFile нельзя заменить значения конфигурации, которые заданы во время разработки. Сведения о применении параметров конфигурации пакета см. в разделе Конфигурации пакета. |
||||
/Conn[ection] id_or_name;connection_string [[;id_or_name;connection_string]…] |
(Необязательно.) Указывает, что диспетчер соединений с указанным именем или идентификатором GUID находится в данном пакете и задает строку соединения. Этот параметр требует указания обоих параметров: имени или идентификатора GUID диспетчера соединений в аргументе id_or_name и допустимой строки соединения в аргументе connection_string. Дополнительные сведения см. в разделе Соединения в службах Integration Services (SSIS). Во время выполнения можно использовать параметр /Connection, чтобы загрузить параметры конфигурации пакета из расположения, отличного от места, указанного во время разработки. Затем значения этих параметров конфигурации заменяют первоначально указанные значения. При этом параметр /Connection можно использовать только для параметров конфигурации, использующих диспетчер соединений, например параметров конфигурации SQL Server. Сведения о применении параметров конфигурации пакета см. в разделах Конфигурации пакета и Изменения в работе служб Integration Services в SQL Server 2012. |
||||
/Cons[oleLog] [[displayoptions];[list_options;src_name_or_guid]...] |
(Необязательно.) Показывает в консоли во время выполнения пакета указанные записи журнала. При отсутствии этого параметра записи журнала в консоли не показываются. Если этот параметр указан без задания максимального числа записей, то будут показаны все записи журнала. Для ограничения отображаемых в консоли записей можно указать отображаемые столбцы с помощью параметра displayoptions и ограничить типы записей журнала с помощью параметра list_options. Параметр displayoptions имеет следующие значения:
Параметр list_options имеет следующие значения:
При использовании нескольких параметров /ConsoleLog в одной и той же командной строке они взаимодействуют следующим образом:
Некоторые примеры использования параметра /ConsoleLog см. в разделе Примечания. |
||||
/D[ts] package_path |
(Необязательно.) Загружает пакет из хранилища пакетов служб SSIS. Пакеты, которые хранятся в хранилище пакетов служб SSIS, развертываются с помощью устаревшей модели развертывания пакетов. Чтобы запустить пакеты, развернутые на сервере служб Службы Integration Services с помощью модели развертывания проекта, используйте параметр /ISServer. Дополнительные сведения о моделях развертывания пакетов и проектов см. в разделе Развертывание проектов и пакетов. Аргумент package_path указывает относительный путь к пакету служб SSIS, начиная с корневой папки хранилища пакетов служб SSIS, а также содержит имя пакета SSIS. Если путь или имя файла, указанные в аргументе package_path, содержат пробел, аргумент package_path необходимо заключить в кавычки. Параметр /DTS не может использоваться одновременно с параметрами /File или /SQL. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой. |
||||
/De[crypt] password |
(Необязательно.) Задает пароль для расшифровки, используемый при загрузке пакета с шифрованием пароля. |
||||
/Dumperror code |
(Необязательно) Создает отладочные файлы дампа MDMP и TMP, если во время работы пакета происходит одно или несколько указанных событий. Аргумент error code указывает тип кода события — ошибка, предупреждение или информация, — при наступлении которого система создаст отладочные файлы дампа. Чтобы задать несколько кодов событий, отделите каждый аргумент error code точкой с запятой (;). Не используйте кавычки с аргументом error code. В следующем примере формируются отладочные файлы при возникновении ошибки DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
По умолчанию службы Службы Integration Services хранят отладочные файлы дампа в папке <диск>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.
Чтобы применить этот параметр ко всем пакетам, запускаемым с помощью программы dtexec, добавьте значение DumpOnCodes типа REG_SZ в раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath». Значение данных DumpOnCodes указывает код или коды ошибки, которые заставят систему создать отладочные файлы дампа. Если кодов ошибки несколько, их разделяют точкой с запятой (;). Если добавить значение DumpOnCodes в раздел реестра и использовать параметр /Dump, система будет создавать отладочные файлы дампа на основе обоих параметров. Дополнительные сведения об отладочных файлах дампа см. в разделе Создание файлов дампа для выполнения пакетов. |
||||
/DumpOnError |
(Необязательно) Создает отладочные файлы дампа MDMP и TMP, если во время работы пакета происходит любая ошибка. По умолчанию службы Службы Integration Services хранят отладочные файлы дампа в папке <диск>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.
Чтобы применить этот параметр ко всем пакетам, запускаемым с помощью программы dtexec, добавьте значение DumpOnError типа REG_DWORD в раздел реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath». Значение DumpOnError типа REG_DWORD указывает, нужно ли использовать параметр /DumpOnError с программой dtexec.
Дополнительные сведения об отладке файлов дампа см. в разделе Создание файлов дампа для выполнения пакетов. |
||||
/Env[Reference] environment reference ID |
(Необязательно.) Указывает ссылку на среду (идентификатор), которая используется при выполнении пакета, развернутого на сервере служб Службы Integration Services. Параметры, настроенные для привязки переменных, будут использовать значения переменных, которые содержатся в среде. Параметр /Env[Reference] используется совместно с параметрами /ISServer и /Server. Этот параметр используется агентом SQL Server. |
||||
/F[ile] filespec |
(Необязательно.) Производит загрузку пакета, сохраненного в файловой системе. Пакеты, которые сохраняются в файловой системе, развертываются с помощью устаревшей модели развертывания пакетов. Чтобы запустить пакеты, развернутые на сервере служб Службы Integration Services с помощью модели развертывания проекта, используйте параметр /ISServer. Дополнительные сведения о моделях развертывания пакетов и проектов см. в разделе Развертывание проектов и пакетов. Аргумент filespec определяет путь и имя файла пакета. Можно указывать либо путь в формате UNC, либо локальный путь. Если путь или имя файла, указанные в аргументе filespec, содержат пробел, аргумент filespec необходимо заключить в кавычки. Параметр /File не может использоваться одновременно с параметрами /DTS или /SQL. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой. |
||||
/H[elp] [option_name] |
(Необязательно.) Отображает справку по параметрам командной строки или справку по указанному параметру option_name и завершает выполнение программы. При указании аргумента option_name dtexec запускает электронную документацию по SQL Server и отображает раздел "Служебная программа dtexec". |
||||
/ISServer packagepath |
(Необязательно.) Запускает пакет, развернутый на сервере служб Службы Integration Services. Аргумент PackagePath указывает имя и полный путь файла пакета, развернутого на сервере служб Службы Integration Services. Если путь или имя файла, указанные в аргументе PackagePath, содержат пробел, аргумент PackagePath необходимо заключить в кавычки. Формат пакета следующий:
Параметр /Server используется совместно с параметром /ISSERVER. Выполнение пакета на сервере служб SSIS возможно только при использовании проверки подлинности Windows. Текущий пользователь Windows используется для доступа к пакету. При отсутствии параметра /Server подразумевается использование локального экземпляра SQL Server по умолчанию. Параметр /ISSERVER не может использоваться одновременно с параметром /DTS, /SQL или /File. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой. Этот параметр используется агентом SQL Server. |
||||
/L[ogger] classid_orprogid;configstring |
(Необязательно.) Связывает один или более регистраторов с выполнением пакета служб SSIS. Параметр classid_orprogid определяет регистратор и может быть указан в виде идентификатора GUID класса. configstring представляет собой строку, применяемую при настройке регистратора. Следующий список содержит доступные типы регистраторов.
|
||||
/M[axConcurrent] concurrent_executables |
(Необязательно.) Указывает количество исполняемых файлов, которые пакет может запускать одновременно. Указанное значение должно быть положительным целым числом или значением –1. Значение –1 указывает, что службы SSIS устанавливают максимальное количество одновременно запускаемых пакетом исполняемых файлов, равное общему количеству процессоров компьютера, на котором выполняется пакет, плюс два. |
||||
/Pack[age] PackageName |
(Необязательно.) Указывает пакет, который выполняется. Этот параметр используется главным образом при выполнении пакета из среды Visual Studio. |
||||
/P[assword] password |
(Необязательно.) Позволяет получить пакет, защищенный проверкой подлинности SQL Server. Этот параметр используется совместно с параметром /User. Если параметр /Password отсутствует, но используется параметр /User, то применяется пустой пароль. Значение password может быть заключено в кавычки.
|
||||
/Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(тип данных)]; literal_value |
(Необязательно.) Задает значения параметра. Можно указать несколько параметров /Parameter. Типы данных — это коды CLR TypeCodes, представленные в виде строк. В случае с нестроковыми параметрами тип данных указывается в скобках, после чего следует имя параметра. Параметр /Parameter используется только совместно с параметром /ISServer. С помощью префиксов $Package, $Project и $ServerOption можно указывать на параметры пакета, проекта и сервера соответственно. Параметр пакета по умолчанию. Ниже представлен пример выполнения пакета и предоставления значения myvalue параметру проекта (myparam) и целочисленного значения 12 для другого параметра пакета (anotherparam). Dtexec /isserver “SSISDB\MyFolder\MyProject\MyPackage.dtsx” /server “.” /parameter $Project::myparam;myvalue /parameter anotherparam(int32);12 С помощью параметров также можно установить свойства диспетчера соединений. Для обозначения параметра диспетчера соединений используется префикс CM. В следующем примере свойство InitialCatalog диспетчера соединений SourceServer установлено в значение ssisdb.
В следующем примере в качестве значения свойства ServerName диспетчера соединений SourceServer задана точка (.), чтобы указать локальный сервер.
|
||||
/Proj[ect] ProjectFile |
(Необязательно.) Указывает проект, из которого необходимо извлечь выполняемый пакет. Аргумент ProjectFile указывает имя файла ISPAC. Этот параметр используется главным образом при выполнении пакета из среды Visual Studio. |
||||
/Rem comment |
(Необязательно.) Содержит примечания о командной строке или командных файлах. Аргумент не обязателен. Значение 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». |
||||
/Set [$Sensitive::]propertyPath;value |
(Необязательно.) Переопределяет конфигурацию параметра, переменной, свойства, контейнера, регистратора, перечислителя Foreach или соединения в пакете. При использовании этого параметра /Set изменяет аргумент propertyPath на указанное значение. Можно указать несколько параметров /Set. Кроме использования параметра /Set с параметром /F[ile] можно также использовать параметр /Set с параметром /ISServer или параметром /Project. При использовании /Set с /Project параметр /Set задает значения параметров. При использовании /Set с /ISServer параметр /Set задает переопределения свойств. Кроме того, при использовании параметра /Set с параметром /ISServer можно использовать префикс $Sensitive, чтобы указать, что свойство необходимо обрабатывать на сервере служб Службы Integration Services как конфиденциальное. Вы можете определить значение propertyPath, запустив мастер настройки пакета. Пути для выбираемых элементов отображаются на последней странице Завершение работы мастера и могут быть скопированы в буфер обмена, а затем вставлены из него. Если мастер использовался только для этого, то его действия можно отменить после копирования путей в буфер. Ниже приведен пример выполнения пакета, хранящегося в файловой системе, и указания нового значения для переменной. dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue Ниже приведен пример запуска пакета из файла проекта ISPAC и установки параметров пакета и проекта. /Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1 С помощью параметра /Set можно изменить расположение, из которого загружаются параметры конфигурации пакета, однако нельзя переопределить значение, указанное в параметре конфигурации во время разработки. Сведения о применении параметров конфигурации пакета см. в разделах Конфигурации пакета и Изменения в работе служб Integration Services в SQL Server 2012. |
||||
/Ser[ver] server |
(Необязательно.) Используется при указании параметров /SQL или /DTS. Этот параметр задает имя сервера, с которого происходит получение пакета. В случае отсутствия параметра /Server и указания параметров /SQL или /DTS производится попытка выполнения пакета на локальном сервере. Значение server_instance может быть заключено в кавычки. Параметр /Ser[ver] необходим при указании параметра /ISServer. |
||||
/SQ[L] package_path |
Загружает пакет, хранящийся на SQL Server в базе данных msdb. Пакеты, которые хранятся в базе данных msdb, развертываются с помощью модели развертывания пакетов. Чтобы запустить пакеты, развернутые на сервере служб Службы Integration Services с помощью модели развертывания проекта, используйте параметр /ISServer. Дополнительные сведения о моделях развертывания пакетов и проектов см. в разделе Развертывание проектов и пакетов. Аргумент package_path задает имя извлекаемого пакета. В случае наличия в пути папок их имена должны завершаться обратной косой чертой ("\"). Значение package_path может быть заключено в кавычки. Если путь или имя файла, указанные в аргументе package_path, содержат пробел, аргумент package_path необходимо заключить в кавычки. Можно использовать параметры /User, /Password и /Server совместно с параметром /SQL. В случае отсутствия параметра /User для доступа к пакету используется проверка подлинности Windows. При использовании параметра /User указанное имя входа /User понимается в смысле проверки подлинности SQL Server. Параметр /Password используется только совместно с параметром /User. В случае использования параметра /Password доступ к пакету осуществляется с применением предоставленных сведений об имени пользователя и пароле. При отсутствии параметра /Password будет использоваться пустой пароль.
При отсутствии параметра /Server подразумевается использование локального экземпляра SQL Server по умолчанию. Параметр /SQL не может использоваться одновременно с параметрами /DTS или /File. Если указано несколько параметров, то выполнение dtexec завершится с ошибкой. |
||||
/Su[m] |
(Необязательно.) Выводит добавочный счетчик, содержащий количество строк, которые будут получены следующим компонентом. |
||||
/U[ser] user_name |
(Необязательно.) Позволяет получить пакет, защищенный проверкой подлинности SQL Server. Этот параметр используется только в случае указания параметра /SQL. Значение user_name может быть заключено в кавычки.
|
||||
/Va[lidate] |
(Необязательно.) Останавливает выполнение пакета по завершении стадии проверки без фактического запуска пакета. В режиме проверки указание параметра /WarnAsError приводит к тому, что программа dtexec рассматривает предупреждения как ошибки, поэтому пакет завершает работу с ошибкой в случае появления предупреждения в ходе проверки. |
||||
/VerifyB[uild] major[;minor[;build]] |
(Необязательно.) Проверяет соответствие номера сборки пакета номерам сборки, указанным на стадии проверки в аргументах major, minor и build. В случае несоответствия пакет выполняться не будет. Тип значений — long integer. Аргумент может иметь одну из трех форм, причем значение major требуется всегда:
|
||||
/VerifyP[ackageID] packageID |
(Необязательно.) Проверяет идентификатор GUID выполняемого пакета, сравнивая его со значением, указанным в аргументе package_id. |
||||
/VerifyS[igned] |
(Необязательно.) При указании этого параметра службы Службы Integration Services будут проверять цифровую подпись пакета. Если пакет не подписан или подпись недопустима, работа пакета завершается ошибкой. Дополнительные сведения см. в разделе Определение источника пакетов с помощью цифровых подписей.
|
||||
/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, используя хранимые процедуры SMO для программного создания задания. Этот параметр используется агентом SQL Server. При запуске программы dtexec из командной строки этот параметр пропускается. |
Замечания
Порядок указания параметров в командной строке может повлиять на способ выполнения пакета.
Параметры обрабатываются в порядке их обнаружения в командной строке. Командные файлы считываются, если они обнаружены в командной строке. Команды в этих файлах также обрабатываются в порядке их следования.
Если в одной и той же инструкции командной строки один и тот же параметр или переменная указаны более одного раза, то преимущество имеет последний из параметров.
Параметры /Set и /ConfigFile обрабатываются в порядке, в котором они встречаются.
Примеры
В следующем примере демонстрируется использование программы командной строки dtexec для настройки и выполнения пакетов служб SQL Server Службы Integration Services.
Запуск пакетов
Чтобы выполнить пакет служб 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
Параметр проекта
В следующем примере показано, как использовать параметры /Project и /Package:
/Project c:\project.ispac /Package Package1.dtsx
В следующем примере показано, как использовать параметры /Project и /Package для установки параметров пакета и проекта.
/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1
Параметр ISServer
В следующем примере показано, как использовать параметр /ISServer:
dtexec /isserver "\SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "."
В следующем примере показано, как использовать параметр /ISServer и устанавливать параметры пакета и диспетчера соединений.
/Server localhost /ISServer “\SSISDB\MyFolder\Integration Services Project1\Package.dtsx” /Par "$Project::ProjectParameter(Int32)";1 /Par "CM.SourceServer.InitialCatalog";SourceDB
Связанные задачи
Запуск пакета с помощью SQL Server Data Tools
См. также
См. запись в блоге Коды завершения, DTEXEC и каталог служб SSIS на сайте www.mattmasson.com.