Пакет служб SSIS завершается ошибкой и затем успешно запускается через 15 минут - PullRequest
1 голос
/ 14 июля 2011

У меня есть пакет служб SSIS, запуск которого запланирован на каждое утро буднего дня в 8:15. Он копирует данные в и из Active Directory и SQL. Около двух недель назад он начал давать сбой, без изменений на сервере (кроме обновлений MS).

Самое смешное, что если я сразу же снова запустил пакет, то это удалось. Вот текст ошибки, когда она терпит неудачу:

Date        7/14/2011 8:15:00 AM
Log     Job History (Reference: Active Directory)

Step ID     1
Server      MMCI-GD1SQL2
Job Name        Reference: Active Directory
Step Name       Run Package
Duration        00:00:32
Sql Severity        0
Sql Message ID      0
Operator Emailed        
Operator Net sent       
Operator Paged      
Retries Attempted       0

Message
Executed as user: MMCI\service-sql. Microsoft (R) SQL Server Execute Package Utility  Version 10.0.1600.22 for 32-bit  Copyright (C) Microsoft Corp 1984-2005. All rights reserved.
Started:  8:15:00 AM  Error: 2011-07-14 08:15:31.88
Code: 0xC0047062
Source: Synchronize Permissions Active Directory Permissions [133]
Description: System.DirectoryServices.AccountManagement.PrincipalOperationException: There is no such object on the server.   ---> System.DirectoryServices.DirectoryServicesCOMException (0x80072030): There is no such object on the server.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.RefreshCache()
at System.DirectoryServices.AccountManagement.ADStoreCtx.LoadDirectoryEntryAttributes(DirectoryEntry de)
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers)
at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, IntPtr ppBufferWirePacket)  End Error  Error: 2011-07-14 08:15:31.90
Code: 0xC0047038
Source: Synchronize Permissions SSIS.Pipeline
Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Active Directory Permissions" (133) returned error code 0x80131501.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  8:15:00 AM  Finished: 8:15:31 AM  Elapsed:  31.343 seconds.  The package execution failed.  The step failed.

Есть мысли?

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Судя по предоставленному вами сообщению об ошибке, проблема заключается в том, что задача в вашем пакете пытается запросить объект в Active Directory, который может больше не существовать.

System.DirectoryServices.AccountManagement.PrincipalOperationException: 
There is no such object on the server.   ---> 
System.DirectoryServices.DirectoryServicesCOMException (0x80072030): 
There is no such object on the server.

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

Поскольку ваш пакет синхронизирует данные между SQL Server и Active Directory, я предполагаю, что задача с именем Synchronize Permissions Active Directory Permissions выбираетсянекоторая форма данных хранится в SQL Server и обновляет содержимое в Active Directory или наоборот.Если мое предположение верно, эта задача, вероятно, Script Task или Script Component.Я полагаю, что код внутри этого компонента не в состоянии выбрать объект (группу / пользователя) в Active Directory.

Я бы проверил, была ли группа / пользователь удалена в Active Directory за дни до того, как пакетне удалось запустить.

Надеюсь, это поможет.

0 голосов
/ 15 июля 2011

Была ли применена какая-то новая групповая политика, которая изменила разрешения для учетной записи, которую использует ваш автоматический запуск, но которая не применяется к вашему идентификатору пользователя?Я предполагаю, что когда вы говорите «Я тогда ... запускаю пакет», вы имеете в виду свой идентификатор пользователя, вошедшего в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...