KB2216489 - FIX: Foutbericht wanneer u probeert een SSIS-pakket uit te voeren dat een SQL Server Doelcomponent in een gegevensstroomtaak bevat

Van toepassing op
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Symptomen

Neem als voorbeeld het volgende scenario:

  • U maakt een SSIS-pakket (SQL Server 2008 Integration Services R2) dat een SQL Server doelcomponent bevat in een gegevensstroomtaak.

  • U probeert dit pakket uit te voeren op systemen waarop Gebruikersaccountbeheer (UAC) is ingeschakeld (bijvoorbeeld in Windows Vista of in Windows 7) met behulp van een van de volgende methoden:

    • Studio voor bedrijfsinformatieontwikkeling (BIDS)
    • SQL Server Management Studio (SSMS) Objectverkenner
    • DTExec.exe
    • DTExecUI.exe

In dit geval ziet u mogelijk een foutbericht van de volgende strekking:

Opmerking

[SQL Server Destination] Fout: Kan het SSIS-bulkinvoegen niet voorbereiden voor gegevensinvoeging.

[SSIS. Pipeline] Fout: onderdeel 'SQL Server Destination' faalde in de pre-uitvoeringsfase en retourneerde foutcode 0xC0202071'.

Kan gegevens niet bulksgewijs kopiëren. Mogelijk moet u dit pakket uitvoeren als beheerder.

Notities

  • Deze fouten treden niet op als u het pakket uitvoert met het ingebouwde Administrator-account dat is gemaakt tijdens de installatie van het besturingssysteem. U ontvangt dit bericht echter voor alle andere gebruikers, inclusief degenen die lid zijn van de lokale beheerdersgroep.
  • Het probleem treedt niet op wanneer u hetzelfde SSIS-pakket uitvoert als een SQL Server Agent-taak.
  • Het tweede foutbericht wordt gegenereerd nadat SQL 2008 Service Pack 2 (SP2) is geïnstalleerd.

Oorzaak

Dit probleem doet zich voor op systemen waarop Gebruikersaccountbeheer is ingeschakeld. Wanneer een toepassing (zoals SSIS) wordt gestart door een account dat lid is van de groep Administrators, ontvangt deze twee beveiligingstokens: een token met lage machtigingen en een token met verhoogde machtigingen. Het token met verhoogde machtigingen wordt alleen gebruikt wanneer de toepassing expliciet wordt uitgevoerd onder een beheerdersaccount met behulp van de optie Als administrator uitvoeren. Standaard gebruikt SSIS altijd het token met lage machtigingen en dit veroorzaakt een fout wanneer SSIS verbinding maakt met een doelcomponent van een SQL Server.

Opmerking Wanneer u een account gebruikt dat geen lid is van de lokale beheerdersgroep, wordt UAC niet weergegeven.

Oplossing

Servicepack-informatie voor SQL Server 2008 R2

Om dit probleem op te lossen, downloadt u het nieuwste servicepack voor SQL Server 2008 R2. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:

2527041 Het nieuwste servicepack voor SQL Server 2008 R2 verkrijgen

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in het gedeelte 'Van toepassing op'.
Dit probleem is voor het eerst verholpen in SQL Server 2008 R2 Service Pack 1 voor SQL Server 2008 R2.

Tijdelijke oplossing

Gebruik een van de volgende methoden om dit probleem te omzeilen:

  • Als u het pakket uitvoert vanuit SSMS, vanuit BIDS of vanuit DTExecUI.exe, start u deze hulpprogramma's vanuit het beheerdersaccount. Klik hiervoor op Start, wijs Alle programma's aan, wijs SQL Server 2005 of SQL Server 2008 aan, klik met de rechtermuisknop op het hulpprogramma dat u gebruikt en klik vervolgens op Als administrator uitvoeren. Hiermee start u de toepassing met behulp van de verhoogde machtigingen van het ingebouwde Administrator-account, waarna het pakket wordt uitgevoerd.

    Als u het pakket uitvoert met behulp van DTExec.exe, start u het pakket ook vanaf een opdrachtprompt met verhoogde bevoegdheid. Klik hiervoor op Start, klik op Alle programma's, klik op Bureau-accessoires, klik met de rechtermuisknop op Opdrachtprompt en klik vervolgens op Als administrator uitvoeren.

    Opmerking Als u zich niet als beheerder bij de computer aanmeldt, wordt u gevraagd het beheerdersaccount op te geven. Typ als antwoord de gebruikersnaam en het wachtwoord van de beheerder in het dialoogvenster Gebruikersaccountbeheer en klik op OK.

  • Vervang de doelonderdelen van de SQL Server in de gegevensstroom Taken die mislukken met OLE DB Doelonderdelen die verwijzen naar dezelfde SQL Server-verbindingsbeheer.

  • Gebruik een account dat geen lid is van de lokale groep Administrators nadat u de machtiging 'Globale objecten maken ' hebt toegewezen aan dat account.

    Ga hiervoor als volgt te werk:

    1. Klik op Start, wijs Systeembeheer aan en klik op Lokaal beveiligingsbeleid.
    2. Vouw Lokaal beleid uit en klik vervolgens op Gebruikersrechtentoewijzing.
    3. Dubbelklik in het detailvenster op Globale objecten maken.
    4. Klik in het dialoogvenster Instelling van lokaal beveiligingsbeleid op Toevoegen.
    5. Klik in het dialoogvenster Gebruikers of groep selecteren op de gebruikersaccounts die u wilt toevoegen, klik op Toevoegen en klik vervolgens tweemaal op OK .