Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
Служебная программа командной строки dtutil используется для управления пакетами SQL Server Integration Services. Программа может копировать, перемещать, удалять пакет или проверять его существование. Эти действия могут выполняться с любым из пакетов Integration Services, который хранится в любом из трех мест: база данных Microsoft SQL Server, хранилище пакетов служб Integration Services и файловая система. Если программа имеет доступ к пакету, хранимому в msdb, в командной строке может быть необходимо ввести имя пользователя и пароль. Если экземпляр SQL Server использует проверку подлинности SQL Server, в командной строке необходимо ввести и имя пользователя, и пароль. Если имя пользователя отсутствует, dtutil попытается войти на сервер SQL Server, используя проверку подлинности Windows. Тип хранилища пакета определяется параметрами /SQL, /FILEи /DTS .
Программа командной строки dtutil не поддерживает использование командных файлов или перенаправления.
Программа командной строки dtutil включает в себя следующие функциональные возможности.
Подсказки в командной строке, которые обеспечивают самодокументируемость и облегчают работу с командной строкой.
Защита от перезаписи — запрашивать подтверждение перед перезаписью существующего пакета при копировании или перемещении пакетов.
Справка по консольной программе, содержащая сведения о параметрах команды dtutil.
Примечание.
Многие операции, выполняемые программой dtutil, можно также выполнять визуально в среде SQL Server Management Studio при подключении к экземпляру служб Integration Services. Дополнительные сведения см. в разделе Управление пакетами (служба Integration Services).
Параметры можно вводить в любом порядке. Символ "|" является оператором OR и используется для отображения возможных значений. Необходимо использовать один из параметров, разделенных каналом OR .
Все параметры должны начинаться со знака косой черты (/) или знака минуса (-). Однако не ставьте пробел между косой чертой или знаком минуса и текстом параметра; в противном случае выполнение команды завершится ошибкой.
Аргументы должны быть строками, заключенными в кавычки, или не содержать пробелов.
Двойные кавычки в пределах строк, заключенных в кавычки, преобразуются в одиночные кавычки.
Для параметров и аргументов, кроме паролей, регистр символов не учитывается.
Вопросы установки на 64-разрядные компьютеры
На 64-разрядном компьютере службы Integration Services устанавливают 64-разрядные версии программ dtexec (dtexec.exe) и dtutil (dtutil.exe). Чтобы установить 32-разрядные версии этих инструментов Integration Services, во время установки необходимо выбрать либо Client Tools, либо SQL Server Data Tools (SSDT).
По умолчанию 64-разрядный компьютер с 64-разрядными и 32-разрядными версиями установленной программы командной строки Служб Integration Services будет запускать 32-разрядную версию в командной строке. 32-разрядная версия запускается, потому что путь к каталогу для 32-разрядной версии появляется в переменной среды PATH перед путем к каталогу для 64-разрядной версии. (Обычно путь к каталогу 32-разрядной версии выглядит следующим образом: <диск>:\Program Files(x86)\Microsoft SQL Server\130\DTS\Binn, а путь к каталогу 64-разрядной версии — <диск>:\Program Files\Microsoft SQL Server\130\DTS\Binn.)
Примечание.
Если для запуска программы используется агент SQL Server, то он автоматически использует 64-разрядную версию программы. Чтобы определить точное расположение исполняемого файла программы, агент SQL Server использует реестр, а не переменную среды PATH.
Чтобы убедиться, что в командной строке запущена 64-разрядная версия программы, выполните одно из следующих действий.
Откройте окно командной строки, задайте путь к каталогу, содержащему 64-разрядную версию программы (<диск>:\Program Files\Microsoft SQL Server\130\DTS\Binn), а затем запустите программу из указанного расположения.
В командной строке запустите программу, введя полный путь (<диск>:\Program Files\Microsoft SQL Server\130\DTS\Binn) к 64-разрядной версии программы.
Измените порядок путей в переменной среды PATH окончательно, поместив 64-разрядный путь (<диск>:\Program Files\Microsoft SQL Server\130\DTS\Binn) перед 32-разрядным путем (<диск>:\ Program Files(x86)\Microsoft SQL Server\130\DTS\Binn) в этой переменной.
Синтаксис
dtutil /option [value] [/option [value]]...
Параметры
| Вариант | Описание |
|---|---|
| /? | Отображает параметры командной строки. |
| /C[opy] местонахождение;путьНазначенияиИмяПакета | Указывает действие копирования для пакета SSIS. Для использования этого параметра следует сначала указать расположение пакета с помощью параметра /FI, /SQили /DT . Затем укажите расположение назначения и имя пакета назначения. Аргумент destinationPathandPackageName указывает, куда копируется пакет SSIS. Если местом назначения location является SQL, в команде должны также быть указаны аргументы DestUser, DestPassword и DestServer . Если операция Copy обнаруживает существующий пакет в месте назначения, программа dtutil запрашивает у пользователя подтверждение удаления пакета. Ответ Y приводит к перезаписи пакета, а ответ N — к завершению программы. Если команда содержит аргумент Quiet , никаких запросов не появится, а любой существующий пакет будет перезаписан. |
| /Dec[rypt] пароль | (Необязательно). Задает пароль для расшифровки, используемый при загрузке пакета с шифрованием пароля. |
| /Удалить | Удаляет пакет, указанный параметром SQL, DTS или FILE . Если программа dtutil не может удалить пакет, она завершает работу. |
| /DestP[assword] пароль | Указывает пароль, используемый вместе с параметром SQL для подключения к целевому экземпляру SQL Server с помощью проверки подлинности SQL Server. Если DESTPASSWORD указан в командной строке, где отсутствует параметр DTSUSER , возникнет ошибка. Примечание. По возможности используйте аутентификацию Windows. |
| /DestS[erver] экземпляр_сервера | Указывает имя сервера, используемое в любой операции, при выполнении которой назначение сохраняется в SQL Server. Он используется для указания нелокального сервера или сервера, не используемого по умолчанию, при сохранении пакета SSIS. Указание DESTSERVER в командной строке, в которой отсутствует действие, связанное с SQL Server, является ошибкой. Для совместного использования с этим параметром подходят команды SIGN SQL, COPY SQLи MOVE SQL . Имя экземпляра SQL Server можно указать, добавив обратную косую черту и имя экземпляра к имени сервера. |
| /DestU[ser] имя пользователя | Указывает имя пользователя, применяемое с параметрами SIGN SQL, COPY SQLи MOVE SQL для подключения к экземпляру SQL Server, использующему проверку подлинности SQL Server. Указание DESTUSER в командной строке, в которой отсутствует параметр SIGN SQL, COPY SQLили MOVE SQL , является ошибкой. |
| /Dump идентификатор процесса | (Необязательно) Приводит к приостановке указанного процесса — либо служебной программы dtexec, либо процесса dtsDebugHost.exe — и созданию файлов отладочного дампа .mdmp и .tmp. Примечание. Чтобы использовать параметр /Dump , необходимо назначить права пользователя "Отладочные программы" (SeDebugPrivilege). Найти значение параметра process ID для приостанавливаемого процесса можно с помощью диспетчера задач Windows. По умолчанию Integration Services сохраняют файлы дампа отладки в папке <диск>:\Program Files\Microsoft SQL Server\130\Shared\ErrorDumps. Дополнительные сведения о программе dtexec и процессе dtsDebugHost.exe см. в разделах dtexec Utility и Building, Deploying, and Debugging Custom Objects. Дополнительные сведения об отладочных файлах дампа см. в разделе Generating Dump Files for Package Execution. Примечание. Отладочные файлы дампа могут содержать конфиденциальные сведения. Скопируйте файлы в папку с ограниченным доступом или ограничьте доступ к ним при помощи списка управления доступом (ACL). |
| /DT[S] filespec | Указывает, что пакет служб Integration Services, с которым предполагается работать, находится в хранилище пакетов служб Integration Services. Аргумент filespec должен содержать путь к папке, начиная с корневой папки хранилища пакетов SSIS. По умолчанию имена корневых папок в файле конфигурации — "MSDB" и "File System". Пути, которые содержат пробел, должны быть разделены двойными кавычками. Если параметр DT[S] указан в той же командной строке, что и любой из следующих параметров, возвращается ошибка DTEXEC_DTEXECERROR: ФАЙЛ SQL SOURCEUSER SOURCEPASSWORD SOURCESERVER |
| /En[crypt] {SQL | FILE}; Путь; ProtectionLevel[; пароль] | (Необязательно). Шифрует загруженный пакет с указанным уровнем защиты и паролем и сохраняет его в место, указанное в параметре Path. Параметр ProtectionLevel определяет, необходим ли пароль. SQL — параметр Path является именем целевого пакета. FILE — Path — это полный путь и имя файла пакета. DTS — этот параметр в данный момент не поддерживается. ПараметрыProtectionLevel : Уровень 0. Удаляет конфиденциальные сведения. Уровень 1. Конфиденциальные сведения шифруются с помощью учетных данных локального пользователя. Уровень 2. Конфиденциальные сведения шифруются с помощью обязательного пароля. Уровень 3. Пакет шифруется с помощью обязательного пароля. Уровень 4. Пакет шифруется с помощью учетных данных локального пользователя. Уровень 5. Пакет использует шифрование хранилища SQL Server. |
| /Сущ[ествует] (Note: This keeps the form closest to the original if a translation is desirably necessary.) | (Необязательно). Используется для определения существования пакета. dtutil пытается найти пакет, указанный параметрами SQL, DTS или FILE . Если программа dtutil не может определить местонахождение указанного пакета, будет возвращена ошибка DTEXEC_DTEXECERROR. |
| /FC[reate] {SQL | DTS};ParentFolderPath; NewFolderName | (Необязательно). Создает новую папку с именем, указанным в параметре NewFolderName. Местоположение новой папки указывается параметром ParentFolderPath. |
| /FDe[lete] {SQL | DTS}[;ParentFolderPath; FolderName] | (Необязательно). Удаляет из SQL Server или служб SSIS папку, указанную именем в FolderName. Местоположение удаляемой папки указывается параметром ParentFolderPath. |
| /FDi[директория] {SQL | DTS};FolderPath[;S] | (Необязательно). Перечисляет содержимое, включая папки и пакеты, в папке в SSIS или SQL Server. Дополнительный параметр FolderPath указывает папку, содержимое которой нужно просмотреть. Необязательный параметр S указывает, что требуется просмотреть список содержимого подпапок папки, указанной в параметре FolderPath. |
| /FE[xists] {SQL | DTS};FolderPath | (Необязательно). Проверяет, существует ли указанная папка на SSIS или SQL Server. Параметр FolderPath указывает путь и имя папки, которую необходимо проверить. |
| /Fi[le] filespec | Этот параметр указывает, что пакет SSIS, над которым будут выполняться действия, находится в файловой системе. Значение filespec может быть предоставлено как путь в формате UNC или локальный путь. Если параметр File указан одновременно с любым из следующих параметров, будет возвращена ошибка DTEXEC_DTEXECERROR: DTS SQL SOURCEUSER SOURCEPASSWORD SOURCESERVER |
| /FR[ename] {SQL | DTS} [;ParentFolderPath; OldFolderName; NewFolderName] | (Необязательно). Переименовывает папку на сервере SSIS или SQL Server. ParentFolderPath — местоположение папки для переименования. Параметр OldFolderName представляет текущее имя папки, а NewFolderName — новое имя, назначаемое ей. |
| /H[elp] параметр | Отображает подробную текстовую справку, которая иллюстрирует параметры dtutil и описывает их использование. Аргумент option необязателен. Если указан этот аргумент, текст справки будет содержать подробные сведения об указанном параметре. В следующем примере показана справка по всем параметрам:dtutil /HВ следующих двух примерах показано, как использовать параметр /H для отображения расширенной справки по указанному параметру, в данном случае — по параметру /Q [uiet] : dtutil /Help Quietdtutil /H Q |
| /I[DRegenerate] | Создает новый GUID для пакета и обновляет свойство ID пакета. Когда пакет копируется, идентификатор пакета остается прежним. Поэтому файлы журналов содержат одинаковый идентификатор GUID для обоих пакетов. В этой операции создается новый идентификатор GUID для недавно скопированного пакета, чтобы отличить его от оригинала. |
| /M[ove] {SQL | File | DTS}; pathandname | Указывает действие перемещения для пакета SSIS. Для использования этого параметра следует сначала указать расположение пакета с помощью параметра /FI, /SQили /DT . Затем укажите действие Move (переместить). В этой операции используются два аргумента, разделенные точкой с запятой: Аргумент назначения может задавать SQL, FILEили DTS. Назначение SQL может включать параметры DESTUSER, DESTPASSWORDи DESTSERVER . Аргумент pathandname указывает расположение пакета: для SQL используются путь и имя пакета, для FILE — UNC-путь или локальный путь, а для DTS — расположение относительно корня хранилища пакетов SSIS. Если назначением является FILE или DTS, аргумент path не включает имя файла. В качестве имени файла используется имя пакета, расположенного в указанном местоположении. Если операция MOVE обнаруживает существующий пакет в месте назначения, программа dtutil запрашивает у пользователя подтверждение перезаписи пакета. Ответ Y приводит к перезаписи пакета, а ответ N — к завершению программы. Если команда содержит параметр QUIET , никаких запросов не появится, а любой существующий пакет будет перезаписан. |
| /Q[uiet] | Останавливает запросы подтверждения, которые могут появиться при выполнении команды, содержащей параметры COPY, MOVEили SIGN . Эти запросы появляются, если пакет с именем, совпадающим с именем указанного пакета, уже существует на компьютере адресата или если указанный пакет уже подписан. |
| /R[емарка] текст | Добавляет примечания к командной строке. Аргумент примечания является необязательным. Если текст примечания содержит символы пробела, он должен быть заключен в кавычки. В командную строку можно включить несколько параметров REM. |
| /Si[gn] {SQL | File | DTS}; путь; хеш | Подписывает пакет SSIS. В этой операции используются три обязательных аргумента, разделенные точками с запятой: destination (место назначения), path (путь) и hash (хэш). Аргумент назначения может задавать SQL, FILEили DTS. Назначение SQL может включать параметры DESTUSER, DESTPASSWORD и DESTSERVER . Аргумент path указывает местоположение пакета, над которым будет произведена операция. Аргумент hash указывает идентификатор сертификата в виде шестнадцатеричной строки переменной длины. Дополнительные сведения см. в разделе Определение источника пакетов с помощью цифровых подписей. ** Важно! Если конфигурация предусматривает проверку подписи пакета, службы Integration Services проверяют только наличие цифровой подписи, ее правильность и надежность источника. Службы Integration Services не проверяют, был ли изменен пакет. |
| /SourceP[assword] пароль | Указывает пароль, который используется вместе с параметрами SQL и SOURCEUSER для получения пакета SSIS, хранящегося в базе данных экземпляра SQL Server, использующего проверку подлинности SQL Server. Указание параметра SOURCEPASSWORD в командной строке, в которой отсутствует параметр SOURCEUSER , является ошибкой. Примечание. По возможности используйте аутентификацию Windows. |
| /SourceS[erver] экземпляр_сервера | Указывает имя сервера, которое используется с параметром SQL для получения пакета SSIS, сохранённого в SQL Server. Указание SOURCESERVER в командной строке, в которой отсутствует параметр SIGN SQL, COPYSQL или MOVESQL, является ошибкой. Имя экземпляра SQL Server можно указать, добавив обратную косую черту и имя экземпляра к имени сервера. |
| /SourceU[ser] имя пользователя | Указывает имя пользователя, используемое с параметром SOURCESERVER для получения пакета SSIS, хранящегося в SQL Server, с использованием проверки подлинности SQL Server. Указание SOURCEUSER в командной строке, в которой отсутствует параметр SIGN SQL, COPY SQLили MOVE SQL , является ошибкой. Примечание. По возможности используйте аутентификацию Windows. |
| /SQ[L] путь_к_пакету | Указывает расположение пакета SSIS. Этот параметр указывает, что пакет сохранен в базе данных msdb . Аргумент package_path задает путь и имя пакета SSIS. Название каждой папки заканчивается обратной косой чертой. Если параметр SQL указан одновременно с любым из следующих параметров, будет возвращена ошибка DTEXEC_DTEXECERROR: DTS ФАЙЛ Параметр SQL может сопровождаться следующими параметрами, каждый из которых может указываться не более одного раза: SOURCEUSER SOURCEPASSWORD SOURCESERVER В случае отсутствия параметра SOURCEUSERNAME для доступа к пакету используется проверка подлинности Windows. SOURCEPASSWORD можно использовать только при наличии SOURCEUSER . Если параметр SOURCEPASSWORD не указан, используется пустой пароль. ** Важно ** Не используйте пустые пароли. Выбирайте надежные пароли. |
Коды завершения программы dtutil
Если обнаружены синтаксические ошибки, указаны неправильные аргументы или недопустимые сочетания параметров, программаdtutil возвращает код завершения, который создает соответствующие предупреждения. В противном случае программа выдает сообщение "Операция успешно завершена". В следующей таблице перечислены значения, которые программа dtutil может возвращать при завершении.
| значение | Описание |
|---|---|
| 0 | Программа выполнена успешно. |
| 1 | Программа завершилась с ошибкой. |
| 4 | Программе не удалось найти запрошенный пакет. |
| 5 | Программе не удалось загрузить запрошенный пакет |
| 6 | Программе не удалось разрешить командную строку, потому что та содержит синтаксические или семантические ошибки. |
Замечания
Нельзя использовать файлы команд или перенаправление с помощью dtutil.
Порядок параметров в пределах командной строки не имеет значения.
Примеры
В следующих примерах приведены типичные сценарии использования командной строки.
Примеры копирования
Чтобы скопировать пакет, хранящийся в базе данных msdb в локальном экземпляре SQL Server, в хранилище пакетов служб SSIS с помощью проверки подлинности Windows, используйте следующий синтаксис:
dtutil /SQL srcPackage /COPY DTS;destFolder\destPackage
Чтобы скопировать пакет, находящийся в файловой системе, в другое местоположение и назначить копии другое имя, используйте следующий синтаксис:
dtutil /FILE c:\myPackages\mypackage.dtsx /COPY FILE;c:\myTestPackages\mynewpackage.dtsx
Чтобы скопировать пакет из локальной файловой системы в экземпляр SQL Server, размещенный на другом компьютере, используйте следующий синтаксис:
dtutil /FILE c:\sourcepkg.dtsx /DestServer <servername> /COPY SQL;destpkgname
Поскольку параметры /DestU[ser] и /DestP[assword] не использованы, применяется проверка подлинности Windows.
Чтобы создать новый идентификатор для пакета после того, как он скопирован, используйте следующий синтаксис:
dtutil /I /FILE copiedpkg.dtsx
Чтобы создать новые идентификаторы для всех пакетов в указанной папке, используйте следующий синтаксис:
for %%f in (C:\test\SSISPackages\*.dtsx) do dtutil.exe /I /FILE %%f
При вводе команды в командной строке используйте одинарный знак процента (%). Если команда используется в пакетном файле, используйте двойной знак процента (%%).
Удалить примеры
Чтобы удалить пакет, хранящийся в базе данных msdb в экземпляре SQL Server, использующем проверку подлинности Windows, примените следующий синтаксис:
dtutil /SQL delPackage /DELETE
Чтобы удалить пакет, хранящийся в базе данных msdb в экземпляре SQL Server, использующем проверку подлинности SQL Server, примените следующий синтаксис:
dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE
Примечание.
Чтобы удалить пакет с именованного сервера, добавьте параметр SOURCESERVER и его аргумент. Указать сервер можно только с помощью параметра SQL .
Чтобы удалить пакет из хранилища пакетов служб SSIS, используйте следующий синтаксис:
dtutil /DTS delPackage.dtsx /DELETE
Чтобы удалить пакет, хранящийся в файловой системе, используйте следующий синтаксис:
dtutil /FILE c:\delPackage.dtsx /DELETE
Примеры использования оператора EXISTS
Чтобы определить, существует ли пакет в базе данных msdb в локальном экземпляре SQL Server, использующем проверку подлинности Windows, примените следующий синтаксис:
dtutil /SQL srcPackage /EXISTS
Чтобы определить, существует ли пакет в базе данных msdb в локальном экземпляре SQL Server, использующем проверку подлинности SQL Server, примените следующий синтаксис:
dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD *hY$d56b /EXISTS
Примечание.
Чтобы определить, существует ли пакет на именованном сервере, добавьте параметр SOURCESERVER и его аргумент. Указать сервер можно только с помощью параметра SQL .
Чтобы определить, существует ли пакет в локальном хранилище пакетов, используйте следующий синтаксис:
dtutil /DTS srcPackage.dtsx /EXISTS
Чтобы определить, существует ли пакет в локальной файловой системе, используйте следующий синтаксис:
dtutil /FILE c:\srcPackage.dtsx /EXISTS
Примеры перемещения
Чтобы переместить пакет из хранилища пакетов служб SSIS в базу данных msdb в локальном экземпляре SQL Server, использующем проверку подлинности Windows, примените следующий синтаксис:
dtutil /DTS srcPackage.dtsx /MOVE SQL;destPackage
Чтобы переместить пакет из базы данных msdb в локальном экземпляре SQL Server, использующем проверку подлинности SQL Server, в базу данных msdb в другом локальном экземпляре SQL Server, использующем проверку подлинности SQL Server, примените следующий синтаксис:
dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD $Hj45jhd@X /MOVE SQL;destPackage /DESTUSER destUserName /DESTPASSWORD !38dsFH@v
Примечание.
Чтобы переместить пакет с одного именованного сервера на другой, добавьте параметры SOURCES и DESTS , а также их аргументы. Указать серверы можно только с помощью параметра SQL .
Чтобы переместить пакет из хранилища пакетов служб SSIS, используйте следующий синтаксис:
dtutil /DTS srcPackage.dtsx /MOVE DTS;destPackage.dtsx
Чтобы переместить пакет, хранящийся в файловой системе, используйте следующий синтаксис:
dtutil /FILE c:\srcPackage.dtsx /MOVE FILE;c:\destPackage.dtsx
Примеры подписи
Чтобы подписать пакет, хранящийся в базе данных SQL Server локального экземпляра SQL Server, использующего проверку подлинности Windows, примените следующий синтаксис:
dtutil /FILE srcPackage.dtsx /SIGN FILE;destpkg.dtsx;1767832648918a9d989fdac9819873a91f919
Чтобы найти сведения о сертификате, используйте CertMgr. Хэш-код можно просмотреть в программе CertMgr , выбрав нужный сертификат и щелкнув Просмотр для просмотра его свойств. Вкладка Подробнее предоставляет дополнительные сведения по сертификату. Свойство Thumbprint используется в качестве хэш-значения, пробелы удаляются.
Примечание.
Хэш в предыдущем примере не является реальным.
Дополнительные сведения см. в разделе CertMgr в Подпись и проверка кода при помощи кода подлинности.
Примеры шифрования
В следующем примере выполняется шифрование пакета PackageToEncrypt.dtsx, хранящегося в файле, в файл EncryptedPackage.dts с использованием полного шифрования пакета и пароля. Пароль, применяемый для шифрования — EncPswd.
dtutil /FILE PackageToEncrypt.dtsx /ENCRYPT file;EncryptedPackage.dtsx;3;EncPswd