INF: Как выполнение пакета служб DTS как запланированное задание

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

В этой статье

Аннотация

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

В данной статье объясняются вопросы безопасности, касающиеся запуск пакетов служб DTS.

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

Некоторые термины, используемые в этой статье относятся:
Свернуть эту таблицуРазвернуть эту таблицу
УсловияОписание
DTSСлужбы DTS
Проверка подлинности SQLСистема безопасности, основанных на Microsoft SQL Server имена пользователей и пароли.
Стандартная безопасностьСм. Проверка подлинности SQL.
Проверка подлинности SQL ServerСм. Проверка подлинности SQL.
Проверка подлинности Microsoft Windows NTКогда пользователь подключается с помощью учетной записи пользователя Microsoft Windows, SQL Server проверяет, что имя пользователя и пароль были проверены при входе пользователя на компьютер под управлением Microsoft Windows NT, Microsoft Windows 2000, Microsoft Windows 95 или Microsoft Windows 98.
Встроенная безопасностьСм. Проверка подлинности Microsoft Windows NT.
Проверка подлинности Windows NT или Windows 2000См. Проверка подлинности Microsoft Windows NT.
Имя входа или учетную запись Microsoft Windows NT равняется имени входа Windows или учетная записьТак же, как учетная запись Microsoft Windows NT или учетная запись Microsoft Windows 2000.
Агент SQLСлужба агента SQL Server
SEMSQL Server Enterprise Manager

Где находится выполнение пакета служб DTS?

Одна из проблем, часто сообщается о пакетов служб DTS является разница в поведении при запуске пакета из SQL Enterprise Manager и после задания по расписанию пакета служб DTS. При запуске пакета в конструкторе служб DTS в SQL Enterprise Manager (SEM) пакет выполняется на компьютере, где вошла. Если на сервере (либо физически, либо через программное обеспечение удаленного доступа), пакет выполняется на сервере. Если вы зарегистрировали сервер SQL Server Enterprise Manager до конца установлена на рабочей станции, пакет выполняется на рабочей станции. Контекст безопасности пакета том, что учетной записи Windows NT для входа в систему этого компьютера. При запуске пакета как запланированное задание пакет всегда выполняется на сервере.

Как правило разработчик создает и проверяет пакет служб DTS в интерактивном режиме на рабочей станции с помощью конструктора служб DTS в диспетчере Enterprise Manager. После отладки пакета служб DTS пакет затем запланировать как задание. При этом изменяется расположение пакета на рабочей станции разработчика на сервер. Если пакет был загрузки текстовых данных в SQL Server, пакет завершается неудачно, если на сервере существует текстового файла и путь к файлу. Если пакет подключение к другому серверу, пакет не выполняется, если контекст безопасности задания не поддерживает подключение.

Кто является владельцем задания, выполнение пакета служб DTS?

Пакеты по плану, создав задание, которое управляется службой агента SQL. Это задание, как все другие задания, имеется владелец. Владелец может быть именем входа SQL Server или учетной записи Windows NT.

Чтобы определить владельца:
  • Дважды щелкните его в диспетчере Enterprise Manager и посмотрите на Владелец поле с раскрывающимся списком.

    -ИЛИ-

  • Запустить msdb.dbo.sp_help_job системные хранимые процедуры.
SQL Server 7.0

Контекст безопасности, в которой выполняется задание, определяется владельца задания. Если задание владельцем является имя входа, которое не является членом Sysadmin роль сервера, а затем пакет выполняется в контексте SQLAgentCmdExec учетную запись и имеет права и разрешения этой учетной записи.

Для SQLAgentCmdExec Чтобы иметь возможность выполнять задания, которые подключаются к SQL Server SQLAgentCmdExec учетная запись должна иметь соответствующие разрешения Windows/NT и предоставляться доступ к SQL Server с разрешения соответствующей базы данных. В SQLAgentCmdExec учетная запись обычно не имеет прав вне локального компьютера SQL Server. Таким образом любой пакет, который требуется подключение к другому компьютеру, если происходит сбой запланирован для задания, принадлежащие имени входа, которое не является членом роли Sysadmin.

SQL Server 2000

Контекст безопасности, в которой выполняется задание, определяется владельца задания. Если владельцем задания является имя входа, которое не является членом серверной роли Sysadmin, затем пакет запускается в контексте установки учетную запись как учетную запись-посредник агента SQL и имеет права и разрешения этой учетной записи.

Для прокси-агента SQL для выполнения заданий, которые подключаются к SQL Server Учетная запись-посредник агента SQL необходимо иметь соответствующие разрешения Windows/NT и предоставляться доступ к SQL Server с разрешения соответствующей базы данных. Для задания, выполнение пакета служб DTS прочитал учетной записи-посредника агента SQL и разрешения на запись во временный каталог учетной записи агента SQL Server выполняется под. Например,
c:\Documents and Settings\<account>\Local Settings\Temp </account>
Если задание является владельцем учетной записи (имя входа SQL Server или имени входа с проверкой подлинности Windows NT), является членом Sysadmin роль, задания агента SQL выполняется в контексте учетной записи, используемой для запуска службы агента SQL.

Кроме того Если задание является владельцем учетной записи домена Windows NT, а пакет сохраняется в SQL Server или хранилище SQL Server (не в формате), необходимо запустить службу SQL Server с помощью учетной записи из того же домена или учетную запись из доверенного домена. Например если владельцем задания агента SQL является учетной записью домена США, затем учетная запись, используемая для запуска службы SQL Server должен быть одним из домена США или домен доверяет домену США. Если SQL Server был запущен с использованием локальной учетной записи, пакет неудачной.

Что определяет владельца?

Вопрос: При щелчке правой кнопкой мыши пакет служб DTS расписания пакета, как владелец назначает?

Ответ: Владелец задания агента SQL зависит от того, как SQL Server регистрируется в диспетчере Enterprise Manager. Если SQL Server с использованием проверки подлинности Windows NT, владельца запланированного задания — это учетная запись, используемая для запуска службы агента SQL. Если SQL Server регистрируется в SEM с использованием проверки подлинности SQL Server (например, SA Имя входа), владелец задания — это же имя входа SQL Server.

Чтобы сменить владельца пакета:
  1. Дважды щелкните его в диспетчере Enterprise Manager.
  2. Нажмите кнопку Общие на вкладке и нажмите кнопку Владелец поле с раскрывающимся списком.
Можно также использовать msdb.dbo.sp_update_job системные хранимые процедуры для смены владельца пакета.

Как выполняется запуск пакетов служб DTS?

Если вручную запустить пакет с помощью DTSRun.exe Служебная программа командной строки является контекст безопасности учетной записи Windows, используется для входа систему. Если запустить пакет с помощью DTSrun.exe через процедуры xp_cmdshell расширенные хранимые процедуры, пакет выполняется в контексте учетной записи, используемой для запуска службы SQL Server, при условии, что пользователь, который выполнен процедуры xp_cmdshell является членом Sysadmin роль. Если на пользователя, который выполнен процедуры xp_cmdshell не является учетной записью в Sysadmin роли, затем DTSRun.exe выполняется в контексте SQLAgentCmdExec учетная запись.

Если SQL Server был запущен с помощью Локальная система учетная запись, пакет служб DTS не имеет разрешений вне компьютера, на котором запущен SQL Server.

Если служба SQL Server запущена под учетной записью Windows NT, пакет имеет те же права и разрешения под этой учетной записью Windows NT. Если эта учетная запись Windows NT учетной записи локального компьютера (в противоположность режиму учетную запись домена), пакет не имеет никаких прав вне этого компьютера. Если учетная запись Windows NT является учетной записью домена, пакет может быть возможность доступа к ресурсам на множество разных компьютеров в домене.

Как выполняется с проверкой подлинности Windows NT подключений?

Иногда пакета служб DTS содержит объект, который создает подключение к источнику данных, используя проверку подлинности Windows NT. Контекст безопасности, используемый для данного подключения совпадает с контекста, на котором запущен пакет. При запуске пакета из командной строки с помощью DTSRun.exe, используются учетные данные входа в систему Windows NT. Если пакет выполняется как задание агента SQL Server, то встроенная безопасность подключения с использованием учетной записи, используемой для запуска агента SQL (при условии, что владелец пакета является членом Sysadmin роль).

Общие проблемы

Ниже приведены несколько распространенных проблем могут возникнуть при выполнении пакетов служб DTS как запланированные задания агента SQL.

Подключенные сетевые диски

Если пакет зависит от физического расположения файлу, назначенному с помощью подключенного сетевого диска, пакет может произойти сбой при запуске как запланированное задание агента SQL, независимо от того, кто является владельцем пакета. Агент SQL является службой Windows NT и службы Windows NT не может видеть буквы подключенного сетевого диска. Сопоставление является частью профиля пользователя, который загружается при входе пользователя в сеанс Windows NT. Службы работают с профилями пользователей. Используйте путь UNC вместо буквы подключенного сетевого диска.Для получения дополнительных сведений о почему служба не может использовать подключенный диск щелкните следующий номер статьи базы знаний Майкрософт:
180362ИНФОРМАЦИЯ: Служб и виртуальных дисков

Относительный путь

Относительный путь (или букву диска) для текущего расположения пакета (например, C:\). Если пакет разработан на рабочей станции, а затем планируется, расположение, в котором пакет запускается изменений. Пути буквы дисков теперь ссылаться на другое физическое расположение сервера. Если соответствующие файлы также перемещаются на сервер, выполнение пакета завершается с ошибкой.

Компоненты COM в сценарии ActiveX

Если в сценарии ActiveX вызываются COM-компоненты (например, вызовы объектов данных ActiveX (ADO), удаленные объекты данных (RDO) или объектов поддержки принятия решений (DSO) объектов), вызванного компоненты должны существовать на компьютере, с которого пакет служб DTS. При запуске пакета в конструкторе служб DTS в SEM или DTSRun.exe, компоненты должны существовать на компьютере, на котором установлена. Если пакет запланирован запуск агента SQL, вызванного компоненты должны быть загружены на компьютер, на котором SQL Server.

Пакет безопасности

Пакеты служб DTS может иметь владельца пароли и пароли пользователей. Эти пароли влияют на которые можно изменять и запускать пакеты. Ни один из этих влияет на контекст безопасности, в котором выполняется пакет.

SQLAgentCmdExec разрешения

Если задание выполняется в контексте SQLAgentCmdExec учетная запись и SQLAgentCmdExec учетная запись не имеет права доступа к SQL Server, может произойти сбой задания появляется следующее сообщение об ошибке:
DTSRun: загрузка... DTSRun: выполнение... DTSRun OnStart. DTSStep_DTSExecuteSQLTask_1 DTSRun OnError: DTSStep_DTSExecuteSQLTask_1 Ошибка =-2147217843 (80040E4D) Ошибка строка: Ошибка входа пользователя «NT_name\SQLAgentCmdExec». Источник ошибки: поставщик Microsoft OLE DB для SQL Файл справки по серверу: контекстную справку: 0 записи сведений об ошибках: ошибка:-2147217843 (80040E4D); Ошибка поставщика: 18456 строки (4818) Ошибка: Ошибка входа пользователя «NT_name\SQLAgentCmdExec». Источник ошибки: поставщик Microsoft OLE DB для SQL Файл справки по серверу: контекстную справку: 0 DTSRun OnFinish: DTSStep_DTSExecuteSQLTask_1 DTSRun: Выполнение пакета завершено. Выход из процесса Код 1. Не удалось выполнить шаг.
Необходимо предоставить SQLAgentCmdExec правильное имя входа и базу данных разрешение права учетной записи для SQL Server.

Свойства

Код статьи: 269074 - Последний отзыв: 5 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Ключевые слова: 
kbsqlsetup kbproductlink kbinfo kbmt KB269074 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:269074

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

 

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