KB2216489 – ÅTGÄRD: Felmeddelande när du försöker köra ett SSIS-paket som innehåller en SQL Server målkomponent i en dataflödesaktivitet

Gäller för
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Symptom

Tänk dig följande scenario:

  • Du skapar ett SSIS-paket (SQL Server 2008 Integration Services R2) som har en målkomponent för SQL Server i en dataflödesuppgift.

  • Du försöker köra det här paketet på system där User Account Control (UAC) är aktiverat (till exempel i Windows Vista eller Windows 7) genom att använda någon av följande metoder:

    • Business Intelligence Development Studio (BIDS)
    • SQL Server Management Studio (SSMS) Object Explorer
    • DTExec.exe
    • DTExecUI.exe

I det här scenariot kan du få ett felmeddelande som liknar något av följande:

Obs

[SQL Server Destination] Fel: Det går inte att förbereda SSIS massinfogning för datainfogning.

[SSIS. Pipeline] Fel: komponenten "SQL Server Destination" misslyckades med förkörningsfasen och returnerade felkoden 0xC0202071."

Det går inte att masskopiera data. Du kan behöva köra det här paketet som administratör.

Anteckningar

  • Dessa fel uppstår inte om du kör paketet under det inbyggda administratörskontot som skapas under installationen av operativsystemet. Men du får det här meddelandet för alla andra användare, även de som är medlemmar i gruppen Lokala administratörer.
  • Problemet uppstår inte när du kör samma SSIS-paket som ett SQL Server Agent jobb.
  • Det andra felmeddelandet genereras först när SQL 2008 Service Pack 2 (SP2) har installerats.

Orsak

Det här problemet uppstår i system där UAC är aktiverat. När ett program (till exempel SSIS) startas av ett konto som är medlem i gruppen Administratörer får det två säkerhetstoken: en token med låg behörighet och en token med förhöjd behörighet. Token elevated-permissions används endast när programmet uttryckligen körs under ett administratörskonto med hjälp av alternativet Kör som administratör . Som standard använder SSIS alltid token med låga behörigheter, vilket orsakar ett fel när SSIS ansluter till en målkomponent för SQL Server.

Obs! UAC visas inte när du använder ett konto som inte är medlem i den lokala administratörsgruppen.

Lösning

Service Pack-information för SQL Server 2008 R2

Lös problemet genom att skaffa senaste Service Pack för SQL Server 2008 R2. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:

2527041 Skaffa den senaste Service Pack-versionen för SQL Server 2008 R2

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Det här problemet korrigerades först i SQL Server 2008 R2 Service Pack 1 för SQL Server 2008 R2.

Lösning

Använd någon av följande metoder för att kringgå problemet:

  • Om du kör paketet från SSMS, från BIDS eller från DTExecUI.exe startar du dessa verktyg från administratörskontot. Det gör du genom att klicka på Start, peka på Alla program, peka på SQL Server 2005 eller SQL Server 2008, högerklicka på verktyget du använder och sedan klicka på Kör som administratör. Då startas programmet med hjälp av de förhöjda behörigheterna för det inbyggda administratörskontot och paketet körs korrekt.

    Om du kör paketet med hjälp av DTExec.exe startar du det från en upphöjd kommandotolk. Det gör du genom att klicka på Start, klicka på Alla program, klicka på Tillbehör, högerklicka på Kommandotolken och sedan klicka på Kör som administratör.

    Obs! Om du inte loggar in på datorn som administratör uppmanas du att ange administratörskontot. Som svar anger du administratörens användarnamn och lösenord i dialogrutan User Account Control och klickar sedan på OK.

  • Ersätt SQL Server Destination-komponenterna i dataflödesuppgifterna som misslyckas med OLE DB Destination-komponenter som pekar på samma SQL Server Connection Manager.

  • Använd ett konto som inte är medlem i den lokala administratörsgruppen när du tilldelat kontot behörigheten Skapa globala objekt .

    Gör följande:

    1. Klicka på Start, peka på Administrationsverktyg och klicka sedan på Lokal säkerhetsprincip.
    2. Expandera Lokala principer och klicka sedan på Tilldelning av användarrättigheter.
    3. Dubbelklicka på Skapa globala objekt i informationsfönstret.
    4. Klicka på Lägg till i dialogrutan Lokal säkerhetsprincipinställning.
    5. Klicka på de användarkonton du vill lägga till i dialogrutan Välj användare eller grupp , klicka på Lägg till och klicka sedan på OK två gånger.