Microsoft KB Archive/906564

= How to use SQL Server Business Intelligence Development Studio or the dtutil utility to regenerate the package ID of an SSIS package that was duplicated =

Article ID: 906564

Article Last Modified on 3/11/2006

-

APPLIES TO


 * Microsoft SQL Server 2005 Developer Edition
 * Microsoft SQL Server 2005 Enterprise Edition
 * Microsoft SQL Server 2005 Express Edition
 * Microsoft SQL Server 2005 Standard Edition
 * Microsoft SQL Server 2005 Workgroup Edition

-





SUMMARY
In Microsoft SQL Server 2005 Integration Services (SSIS), a 16-byte GUID is generated and stored as the PackageID property of a SSIS package when the SSIS package is created. After you run the package, you can write the package ID to a log file by using the SSIS log provider. This package ID differentiates log entries for different packages.

However, the following behavior may occur:
 * When an SSIS package is copied in a file system, the new copy contains the same package ID as the original SSIS package.
 * You can successfully run the package that has the same package ID. However, you cannot differentiate the two packages by using the logging data because the package IDs are the same.

To regenerate a new package ID for each package, use one of the methods that are described in the &quot;More Information&quot; section.



MORE INFORMATION
For example, the following conditions are true, in the order in which they are presented:  You copy a package that is named DuplicateIDEmailer to a file system. You name the new package DuplicateIDEmailer_copy.  You run both packages.

You may notice that the logging data for each package is similar to the following: Event          Source                 SourceID                               ExecutionID

=
===================================================================================================== PackageStart DuplicateIDEmailer       3ca884a7-7805-4e12-aeee-afb99735ccd8   1d650373-5b56-4b76-bd0a-1d6a234ea91e PackageEnd  DuplicateIDEmailer        3ca884a7-7805-4e12-aeee-afb99735ccd8   1d650373-5b56-4b76-bd0a-1d6a234ea91e PackageStart DuplicateIDEmailer_copy  3ca884a7-7805-4e12-aeee-afb99735ccd8   d40c0438-e846-468d-843b-58cf5965e6a1 PackageEnd  DuplicateIDEmailer_copy   3ca884a7-7805-4e12-aeee-afb99735ccd8   d40c0438-e846-468d-843b-58cf5965e6a1 PackageStart DuplicateIDEmailer_copy  3ca884a7-7805-4e12-aeee-afb99735ccd8   54d91f24-4f71-4665-ba4c-4e1272302872 PackageEnd  DuplicateIDEmailer_copy   3ca884a7-7805-4e12-aeee-afb99735ccd8   54d91f24-4f71-4665-ba4c-4e1272302872 PackageStart DuplicateIDEmailer       3ca884a7-7805-4e12-aeee-afb99735ccd8   ed3b33e2-4933-4bf4-884d-897a9d6488a6 PackageEnd  DuplicateIDEmailer        3ca884a7-7805-4e12-aeee-afb99735ccd8   ed3b33e2-4933-4bf4-884d-897a9d6488a6 The PackageName property that recorded in the Source column in the table was manually updated before execution. Therefore, some differentiation exists in the logging data. However, we recommend that you also regenerate the PackageID property. 

To regenerate the PackageID property, use one of the following methods.

Use SQL Server Business Intelligence Development Studio

 * 1) Open the package in SQL Server Business Intelligence Development Studio.
 * 2) Click the Control Flow tab.
 * 3) Click the ID property. In the drop-down list, click .

A new value appears in the ID property.

Use the dtutil command-line utility
You can use the dtutil command-line utility (Dtutil.exe) together with the /I [D Regenerate] command-line switch to regenerate the package ID. To update multiple packages at the same time, use the dtutil utility in a batch file or in the script environment. For more information about how to use the dtutil utility, type the following command at a command prompt:

dtutil /?

To update the package IDs, put the packages in the same folder. Then, run the following command to regenerate the package ID for every package::

for %%f in (\*.dtsx) do dtutil.exe /i /File %%f

Note Use a single percent sign (%) when you type the command at a command prompt. Use two percent signs (%%) if you use the command in a batch file.

