FIX: een script taak of een script onderdeel wordt uitgevoerd meerdere malen in dubbele bij het uitvoeren van pakketten die scripttaken of scriptonderdelen parallel in SSIS bevatten

Van toepassing: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise Edition

Bug #: 447320 (SQLBUDT) bug #: 411552 (SQLBUDT)

Symptomen


Neem het volgende scenario:
  • U hebt een Microsoft SQL Server 2005 Integration Services (SSIS)-pakket met een script taak in de stroom van het besturingselement of een script onderdeel in de gegevensstroom.
  • U kopieert en plakt u het pakket SSIS (het bestand. dtsx) voor het maken van meerdere exemplaren van hetzelfde pakket.
  • U maakt sommige taken uitvoeren pakket in een bovenliggende SSIS-pakket en geef vervolgens de gekopieerde pakketten in de takenpakket uitvoeren.
  • De takenpakket uitvoeren parallel in het bovenliggende pakket uitgevoerd.
  • De eigenschap Executeoutofprocess van de takenpakket uitvoeren is ingesteld op false.
  • U het bovenliggende SSIS-pakket uitvoeren.
In dit scenario ziet u dat een script taak of een script onderdeel meerdere malen in dubbele wordt uitgevoerd. Het kan zelfs worden uitgevoerd vanuit de verkeerde uitvoeren pakket taak.

Oorzaak


Dit probleem treedt op vanwege de dubbele projectnamen van de scripttaken of de scriptonderdelen in Microsoft Visual Studio voor toepassingen. Nadat u kopiëren en plakken van het bestand. dtsx, de scripttaken of de scriptonderdelen in deze twee pakketten hebben dezelfde GUID voor de eigenschap ID. Wanneer u het bovenliggende SSIS-pakket uitvoert, kan SSIS ten onrechte een van de scripttaken of de scriptonderdelen meerdere malen in tweevoud uitvoeren. U verwacht echter dat SSIS elke script taak of script component onafhankelijk uitvoert. Opmerking Visual Studio voor toepassingen wordt gebruikt voor het ontwerpen en compileren van de scripttaken of de scriptonderdelen in SSIS.

Oplossing


Informatie over het Service Pack

U lost dit probleem, het meest recente Service Pack voor SQL Server 2005 te verkrijgen. Klik voor meer informatie op het volgende artikelnummer, zodat het artikel in de Microsoft Knowledge Base wordt weergegeven:
913089 het verkrijgen van het meest recente Service Pack voor SQL Server 2005

Tijdelijke oplossing


U dit probleem als volgt omzeilen:
  1. Open het gekopieerde SSIS-pakket in SQL Server Business Intelligence Development Studio.
  2. Druk op CTRL + X om de problematische script taak of het problematische script-onderdeel te verwijderen.
  3. In hetzelfde pakket dat de problematische script taak of het problematische script-onderdeel bevat, drukt u op CTRL + V om de script taak of het script onderdeel te plakken.
Nadat u deze stappen hebt uitgevoerd, wordt een nieuwe GUID automatisch gegenereerd voor de eigenschap ID. Als de eigenschap Precompile voor het pakket met de problematische script taak of de problematische Script component is ingesteld op True, worden de scripttaken of de scriptonderdelen vooraf gecompileerd. In dit geval moet u de scripttaken of de scriptonderdelen opnieuw compileren. Hiertoe opent u de script ontwerper en sluit u de script ontwerper. Wellicht moet u de precedent beperkingen voor de geplakte script taak of het geplakte script onderdeel opnieuw definiëren. Op dezelfde manier om een unieke projectnaam voor de scripttaken handmatig te maken, klikt u op ontwerp script in het dialoogvenster Editor voor script transformatie en bewerkt u de eigenschap projectnaam handmatig in Visual Studio for Applications. Opmerking U geen unieke projectnaam maken voor scriptonderdelen in de gegevensstroom.

Status


Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie


Stappen om dit probleem te reproduceren

  1. Bewerk de scripts in het gekopieerde SSIS-pakket voor het aanpassen van een bewerking voor het pakket. U een berichtvenster of een vastgelegde gebeurtenis aanpassen om het probleem te reproduceren.
  2. Sla de wijzigingen in het gekopieerde pakket op.
  3. Maak een SSIS-pakket dat gebruikmaakt van een script taak in de stroom van het besturingselement of die gebruikmaakt van een script onderdeel in de gegevensstroom.
  4. Sla het pakket op.
  5. Kopieer en plak het pakket in Solution Explorer of in het bestandssysteem.
  6. Maak een nieuwe bovenliggende SSIS-pakket dat gebruikmaakt van twee taken uitvoeren pakket om uit te voeren van het oorspronkelijke SSIS-pakket en de gekopieerde SSIS-pakket parallel.
  7. Voer het bovenliggende pakket uit.
De taak van het script van het oorspronkelijke SSIS-pakket wordt uitgevoerd of de taak van het script uit het gekopieerde pakket wordt uitgevoerd. U verwacht echter dat beide SSIS-pakketten in het bovenliggende pakket worden uitgevoerd.