Пакет служб SSIS не запускается при вызове пакета служб SSIS на шаге задания агента SQL Server

Переводы статьи Переводы статьи
Код статьи: 918760 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При вызове службы интеграции Microsoft SQL Server 2005 (SSIS) пакета на шаге задания агента SQL Server работает пакет служб SSIS. Тем не менее если не изменить пакет служб SSIS, он будет выполняться успешно за пределами агента SQL Server.

Причина

Данная проблема возникает при выполнении одного из следующих условий:
  • Учетная запись пользователя, используемая для запуска пакета в списке агента SQL Server отличается от автора оригинального пакета.
  • Учетная запись пользователя не имеет необходимых разрешений для подключения или для доступа к ресурсам, находящимся вне пакета служб SSIS.
Пакет может выполняться в следующих случаях:
  • Текущий пользователь не может расшифровать секретные данные из пакета. Эта ситуация может возникать, если текущая учетная запись или учетная запись выполнения, отличается от автора оригинального пакета и пакет ProtectionLevel значение свойства не позволяют текущему пользователю расшифровать секреты в пакете.
  • Подключение к SQL Server, которая использует встроенную безопасность завершается неудачей, так как текущий пользователь не имеет необходимых разрешений.
  • Доступ к файлам не выполняется, так как текущий пользователь не имеет необходимых разрешений на запись в общий файловый ресурс, получает доступ к диспетчеру подключений. Например этот сценарий может возникнуть с текстом регистраторы, которые следует использовать имя входа и пароль. Этот сценарий также может возникнуть в любой задаче, зависит от диспетчера подключения файлов, таких как задачи служб SSIS файловой системы.
  • С реестром конфигурации пакета служб SSIS использует ключи реестра HKEY_CURRENT_USER. В разделе реестра HKEY_CURRENT_USER зависят от пользователя.
  • Диспетчер соединений или задачи требует, что текущая учетная запись пользователя имеет правильные разрешения.

Решение

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

Метод 1: Использование учетной записи-посредника агента SQL Server

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

Этот метод работает для расшифровки секреты и удовлетворяет требованиям ключа пользователем. Однако этот метод может ограничен успех, так как ключи пользователя пакета служб SSIS включают текущего пользователя и текущего компьютера. Таким образом при перемещении пакета на другой компьютер, этот метод может по-прежнему неудачу, даже если шаг задания использует учетную запись прокси.

Способ 2: Свойство ProtectionLevel пакета служб SSIS ServerStorage

Изменение пакета служб SSIS ProtectionLevel Свойство ServerStorage. Этот параметр сохраняет пакет в базе данных SQL Server и обеспечивает управление доступом через ролей базы данных SQL Server.

Способ 3: Задайте для свойства ProtectionLevel пакета служб SSIS EncryptSensitiveWithPassword

Изменение пакета служб SSIS ProtectionLevel Свойство EncryptSensitiveWithPassword. Этот параметр использует пароль для шифрования. Затем можно изменить шаг задания агента SQL Server командной строки для включения этого пароля.

Метод 4: Файлы конфигурации пакета служб SSIS используется

Использовать файлы конфигурации пакетов служб SSIS для хранения важных сведений и затем сохранить эти файлы конфигурации в защищенной папке. Затем можно изменить ProtectionLevel Свойство DontSaveSensitive, что пакет не шифруются и не пытается сохранить секреты в пакет. При выполнении пакета служб SSIS необходимой информации загружается из файла конфигурации. Убедитесь, что файлы конфигурации адекватно защиты, если они содержат конфиденциальные сведения.

Метод 5: Создайте шаблон пакета

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

Статус

Данное поведение является особенностью.

Дополнительная информация

Действия по воспроизведению проблемы

  1. Вход в качестве пользователя, который не является частью группы SQLServer2005SQLAgentUser. Например можно создать локального пользователя.
  2. Создать пакет служб SSIS и затем добавить задачу ExecuteSQL. Используйте диспетчер соединений OLEDB к файлу локальной базы данных msdb, используя следующую строку: «Проверка подлинности Windows» -SQLSourceType: «Прямой ввод» -SQLStatement: «sp_who»
  3. Запустите пакет, чтобы убедиться, что он выполняется успешно.
  4. Обратите внимание, что ProtectionLevel свойство имеет значение EncryptSensitiveWithPassword.
  5. Создайте задание агента SQL Server и шага задания. В Запуск от имени Выберите Служба агента SQL Server Чтобы выполнить шаг задания.
Текст в журнал заданий агента SQL Server отображает информацию, подобную следующей:

Выполняется от имени пользователя: домен\имя_пользователя. Ошибка выполнения пакета. Не удалось выполнить шаг.

Расшифровать секреты пакета

Значение по умолчанию для пакета служб SSIS ProtectionLevel свойство является EncryptSensitiveWithUserKey. При сохранении пакета служб SSIS, шифруются только части пакета, которые содержат свойства, помеченные как «конфиденциальные,» например, пароли, имена пользователей и строки подключения. Таким образом при перезагрузке пакет текущий пользователь должен удовлетворять требованиям шифрование конфиденциальных свойств для расшифровки. Однако текущий пользователь имеет для удовлетворения требований к шифрованию загрузить пакет. При выполнении пакета через шага задания агента SQL Server учетная запись по умолчанию это учетная запись службы агента SQL Server. Эта учетная запись по умолчанию является скорее вместо автора пакета. Таким образом можно загрузить и запустить шаг задания шага задания агента SQL Server, но пакет не выполняется, так как он не может выполнить подключение. Например пакет не удается завершить подключение OLE DB или FTP. Пакет не выполняется, так как он не может расшифровать учетные данные, которые необходимы для подключения.

Важные Рассмотрим процесс разработки и среды, чтобы определить, какие счета требуется и на каждый компьютер. Установка EncryptSensitiveWithUserKey ProtectionLevel свойство является мощным параметр. Не следует со скидкой этот параметр, так как это вызывает трудности развертывания в первую очередь. Можно шифровать пакеты при входе соответствующую учетную запись. С помощью служебной программы командной строки служб SSIS Dtutil.exe можно также изменить уровни защиты с помощью команды подсистемы агента SQL Server и CMD-файл. Например выполните следующие действия. Так как можно использовать программу Dtutil.exe в пакетных файлах и циклы, выполнить следующие действия для нескольких пакетов одновременно.
  1. Вносить изменения в пакет, который требуется зашифровать с помощью пароля.
  2. С помощью программы Dtutil.exe через Операционная система (cmd Exec) Шаг задания агента SQL Server для изменения ProtectionLevel Свойство EncryptSensitiveWithUserKey. Этот процесс включает расшифровки пакета с помощью пароля и затем дешифровать пакета. Пользовательский ключ, используемый для шифрования пакета является установка в шаге задания агента SQL Server Запуск от имени список.

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

Убедитесь, что подробные сведения об ошибке о сбое пакета служб SSIS

Вместо того чтобы полагаться на ограниченные сведения в журнал заданий агента SQL Server, можно использовать службы SSIS, ведение журнала убедитесь в том, что сведения об Сбой пакета служб SSIS. Также можно запустить пакет с помощью команды exec подсистемы вместо команды подсистемы служб SSIS.

О регистрации служб SSIS

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

OnError, имя_домена, имя_домена\имя_пользователя, 1:51:59 FTP Task,{C73DE41C-D0A6-450A-BB94-DF6D913797A1},{2F0AF5AF-2FFD-4928-88EE-1B58EB431D74},4/28/2006 PM, 1:51:59 4/28/2006 PM,-1073573489, 0 x, не удается подключиться к FTP-серверу с помощью «диспетчера FTP-сеансов».

OnError, Task,{C6C7286D-57D4-4490-B12D-AC9867AE5762},{F5761A49-F2F9-4575-9E2B-B3D381D6E1F3},4/28/2006 SQL Execute имя_домена, имя_домена\имя_пользователя, 16:07:00, 4/28/2006 г. 16:07:00,-1073573396, 0 x, не удалось получить соединение "user01.msdb". Подключения настроены неправильно, или вы не имеете права на данное подключение.

О команде exec подсистемы и выходные данные

Используя подход команды exec подсистемы, добавление подробного регистрации в журнале консоли переключатели командной строки служб SSIS для вызова служб SSIS Dtexec.exe на исполняемый файл командной строки. Кроме того используйте функцию дополнительные задания выходного файла. Можно также использовать Включить в журнал выходные данные шага возможность перенаправить запись сведений в файл или журнал заданий агента SQL Server.

Ниже приведен пример командной строки:

dtexec.exe /FILE 
"C:\_work\SSISPackages\ProtectionLevelTest\ProtectionLevelTest\AgentTesting.dtsx" /MAXCONCURRENT " -1 
" /CHECKPOINTING OFF  /REPORTING V  /CONSOLELOG NCOSGXMT


Ведение журнала/Console возвращает подробные сведения, подобные следующим:

Error: 2006-04-27 18:13:34.76
   Code: 0xC0202009
   Source: AgentTesting Connection manager "(local).msdb"
   Description: An OLE DB error has occurred. Error code: 0x80040E4D.
An OLE DB record is available.  Source: "Microsoft SQL Native Client"  Hresult: 0x80040E4D  Description: "Login failed for user 'DOMAINNAME\username'.".
End Error


Error: 2006-04-28 13:51:59.19
   Code: 0xC0016016
   Source:  
   Description: Failed to decrypt protected XML node "DTS:Property" with error 0x80070002 "The system cannot find the file specified.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.
End Error


Log:
     Name: OnError
     Computer: COMPUTERNAME
     Operator: DOMAINNAME\username
     Source Name: Execute SQL Task
     Source GUID: {C6C7286D-57D4-4490-B12D-AC9867AE5762}
     Execution GUID: {7AFE3D9E-5F73-42F0-86FE-5EFE264119C8}
     Message: Failed to acquire connection "(local).msdb". Connection may not be configured correctly or you may not have the right permissions on this connection.
     Start Time: 2006-04-27 18:13:34
     End Time: 2006-04-27 18:13:34
End Log

Ссылки

Для получения дополнительных сведений о похожей проблеме щелкните следующий номер статьи базы знаний Майкрософт:
904800При попытке запустить пакет служб интеграции SQL Server 2005 в SQL Server 2005 появляется сообщение об ошибке «Ошибка при загрузке»
Для получения дополнительных сведений об использовании служебной программы Dtutil.exe в пакетных операций щелкните следующий номер статьи базы знаний Майкрософт:
906562Использование программы dtutil (Dtutil.exe) для установки уровня защиты пакетов пакеты служб интеграции SQL Server (SSIS) в SQL Server 2005
Для получения дополнительных сведений о создании шаблонов пакетов щелкните следующий номер статьи базы знаний Майкрософт:
908018Как создать шаблон пакета в SQL Server Business Intelligence Development Studio


Для получения дополнительных сведений о SSIS пакета безопасности и ProtectionLevel свойство, см. в разделе «Вопросы для интеграции служб безопасности» в электронной документации по SQL Server 2005.

К сожалению пользователи не знают, что параметры шага задания агента по умолчанию поместить их в этом состоянии. Для получения дополнительных сведений об учетных записей-посредников агента SQL Server и служб SSIS в следующих разделах в электронной документации по SQL Server 2005:
  • Планирование выполнения пакетов в агенте SQL Server
  • Создание учетных записей-посредников агента SQL Server

Свойства

Код статьи: 918760 - Последний отзыв: 16 июля 2013 г. - Revision: 4.2
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Service Pack 3
  • Microsoft SQL Server 2005 Service Pack 2
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
Ключевые слова: 
kbsqlsetup kbprb kbsql2005ssis kbsql2005setup kbexpertiseinter kbexpertiseadvanced kbtshoot kbmt KB918760 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 918760

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com