SSIS package fails and then runs successfully 15 minutes later

1

I have an SSIS package that is scheduled to run every weekday morning at 8:15. It copies data to and from Active Directory and SQL. About two weeks ago, it started failing, with no changes having been made to the server (beyond MS updates).

The funny thing is that if I then immediately run the package again, it succeeds. Here is the error text from when it fails:

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.

Any thoughts?

sql
ssis
active-directory
asked on Stack Overflow Jul 14, 2011 by John Anderson

2 Answers

0

Has some new Group Policy been applied that changed the permissions for the account your automated run uses, but which doesn't apply to your user id? I'm assuming when you say "I then ... run the package", you mean your logged-in user id.

answered on Stack Overflow Jul 14, 2011 by DaveE
0

Based on the error message that you had provided, the issue seems to be that the task within your package is trying to query an object in Active Directory that might no longer exist.

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

I could be wrong on the below part. I am just speculating what your package might be doing based on the description provided.

Since your package synchronizes data between SQL Server and Active Directory, I assume that the task named Synchronize Permissions Active Directory Permissions selects some form of data stored in SQL Server and updates the content in Active Directory or vice versa. If my assumption is correct, this task is probably Script Task or Script Component. I believe that the code inside this component is failing to select an object (group/user) in Active Directory.

I would check whether a group/user was deleted in Active Directory on the days prior to when the package failed to run.

Hope this helps.

answered on Stack Overflow Jul 15, 2011 by (unknown user) • edited Jul 15, 2011 by (unknown user)

User contributions licensed under CC BY-SA 3.0