KB2216489 – RETTELSE: Fejlmeddelelse, når du forsøger at køre en SSIS-pakke, der indeholder en SQL Server destinationskomponent i en dataflowopgave

Gælder for
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Symptomer

Overvej følgende scenarie:

  • Du opretter en SQL Server 2008 Integration Services R2-pakke (SSIS), der har en SQL Server Destination-komponent i en dataflowopgave.

  • Du forsøger at køre denne pakke på systemer, hvor Kontrol af brugerkonti er aktiveret (f.eks. i Windows Vista eller Windows 7) ved hjælp af en af følgende metoder:

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

I dette scenarie får du muligvis vist en fejlmeddelelse, der minder om et af følgende:

Bemærk

[SQL Server Destination] Fejl: Kan ikke forberede SSIS-masseindsættelsen til dataindsættelse.

[SSIS. Pipeline] Fejl: komponenten "SQL Server destination" mislykkedes i fasen før udførelse og returnerede fejlkode 0xC0202071."

Det var ikke muligt at massekopiere data. Du skal muligvis køre denne pakke som administrator.

Noter

  • Du støder ikke på disse fejl, hvis du kører pakken under den indbyggede administratorkonto, der oprettes under installationen af operativsystemet. Men du får vist denne meddelelse for alle andre brugere, herunder dem, der er medlemmer af gruppen Lokale administratorer.
  • Problemet opstår ikke, når du kører den samme SSIS-pakke som et SQL Server Agent-job.
  • Den anden fejlmeddelelse genereres først, når SQL 2008 Service Pack 2 (SP2) er installeret.

Årsag

Dette problem opstår på systemer, hvor UAC er aktiveret. Når et program (f.eks. SSIS) startes af en konto, der er medlem af administratorgruppen, modtager det to sikkerhedstokens: et token med lave tilladelser og et token med udvidede tilladelser. Podet for udvidede tilladelser bruges kun, når programmet eksplicit køres under en administratorkonto ved hjælp af indstillingen Kør som administrator . Som standard bruger SSIS altid token med lave tilladelser, og dette forårsager en fejl, når SSIS opretter forbindelse til en SQL Server Destination-komponent.

Bemærk, at når du bruger en konto, der ikke er medlem af en lokal administratorgruppe, vises Kontrol af brugerkonti ikke.

Løsning

Oplysninger om servicepakker til SQL Server 2008 R2

Løs dette problem ved at hente den nyeste servicepakke til SQL Server 2008 R2. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2527041 Sådan får du den nyeste servicepakke til SQL Server 2008 R2

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Dette problem blev først løst i SQL Server 2008 R2 Service Pack 1 til SQL Server 2008 R2.

Løsning

Du kan løse dette problem med en af følgende metoder:

  • Hvis du kører pakken fra SSMS, fra BIDS eller fra DTExecUI.exe, skal du starte disse værktøjer fra administratorkontoen. Det gør du ved at klikke på Start, pege på Alle programmer, pege på SQL Server 2005 eller SQL Server 2008, højreklikke på det værktøj, du bruger, og derefter klikke på Kør som administrator. Dette starter programmet ved hjælp af de administratorrettigheder, der er indbygget i administratorkontoen, og pakken køres korrekt.

    Hvis du kører pakken ved hjælp af DTExec.exe, kan du på samme måde starte den fra en kommandoprompt med administratorrettigheder. Det gør du ved at klikke på Start, Alle programmer, klikke på Tilbehør, højreklikke på Kommandoprompt og derefter klikke på Kør som administrator.

    Bemærk, at hvis du ikke logger på computeren som administrator, bliver du bedt om at angive administratorkontoen. Som svar skal du skrive administratorens brugernavn og adgangskode i dialogboksen Kontrol af brugerkonti og derefter klikke på OK.

  • Erstat SQL Server Destination-komponenterne i de dataflowopgaver, der mislykkes med OLE DB Destination-komponenter, der peger på den samme SQL Server-forbindelsesstyring.

  • Brug en konto, der ikke er medlem af den lokale administratorgruppe, når du har tildelt tilladelsen Opret globale objekter til den pågældende konto.

    Det kan du gøre ved at udføre disse trin:

    1. Klik på Start, peg på Administration og klik derefter på Lokal sikkerhedspolitik.
    2. Udvid Lokale politikker, og klik derefter på Tildeling af brugerrettigheder.
    3. Dobbeltklik på Opret globale objekter i detaljeruden.
    4. Klik på Tilføj i dialogboksen Indstillinger for lokal sikkerhedspolitik.
    5. Klik på de brugerkonti, du vil tilføje, i dialogboksen Vælg brugere eller gruppe , klik på Tilføj, og klik derefter på OK to gange.