Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln hjälper dig att lösa det problem som uppstår när du försöker köra ett SSIS-paket på system där UAC (User Account Control) är aktiverat.
Ursprunglig produktversion: SQL Server
Ursprungligt KB-nummer: 2009672
Symptom
Föreställ dig följande scenario:
Du skapar ett SSIS-paket (SQL Server Integration Services) som har en SQL Server-målkomponent i en dataflödesaktivitet.
Du försöker köra det här paketet på system där UAC (User Account Control) är aktiverat (till exempel Vista eller Windows 7) med någon av följande metoder:
- Business Intelligence Development Studio (BIDS)
- SQL Server Management Studio -objektutforskaren (SSMS)
- DTExec.exe
- DTExecUI.exe
I det här scenariot kan du få ett felmeddelande som liknar följande:
SQL Server-mål] Fel: Det går inte att förbereda SSIS-massinfogningen för infogning av data. [SSIS. Pipeline] Fel: Komponenten "SQL Server Destination" misslyckades i förkörningsfasen och returnerade felkoden 0xC0202071.
Kommentar
Du får inte det här felet 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, inklusive 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.
När SQL 2008 Service Pack 2 har installerats har texten i felet DTS_E_BULKINSERTAPIPREPARATIONFAILED (0xC0202071) ändrats till: Det går inte att masskopiera data. Du kan behöva köra det här paketet som administratör.
Den här ändringen gjordes i ett försök att göra det lättare att förstå den korrigerande åtgärd som behövs, enligt beskrivningen i lösningsavsnittet i denna KB.
Orsak
På 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 en token med låg behörighet och en annan förhöjd token. Den upphöjda token används endast när programmet uttryckligen körs under ett administratörskonto genom att välja alternativet Kör som administratör . Som standard använder SSIS alltid den lågprivilegierade token som resulterar i ett fel vid anslutning till ett SQL-mål.
Åtgärd
Använd någon av följande metoder för att kringgå problemet:
Om du kör paketet från antingen SQL Server Management Studio (SSMS) eller Business Intelligence Development Studio (BIDS) eller DTExecUI.exe startar du dessa verktyg under det upphöjda administratörskontot. Om du vill göra det klickar du på Start, pekar på Alla program, pekar på SQL Server 2005 eller SQL Server 2008, högerklickar på verktyget du använder och klickar sedan på Kör som administratör. Detta startar programmet med utökade privilegier för det inbyggda administratörskontot och paketet körs korrekt.
På samma sätt om du kör paketet med DTExec.exe starta det från en upphöjd kommandotolk. Du kan starta den upphöjda kommandotolken 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.
Kommentar
Om du inte loggar in på datorn som administratör uppmanas du att ange administratörskontot. När du uppmanas att ange administratörskontot skriver du administratörens användarnamn och lösenord i dialogrutan Kontroll av användarkonto . Klicka sedan på OK.
Ersätt SQL Server-målkomponenterna i dataflödesuppgifterna som misslyckas med OLE DB-målkomponenter som pekar på samma SQL Server-anslutningshanterare.
Använd ett konto som inte är medlem i den lokala gruppen Administratörer när du har tilldelat skapa globala objekt användarbehörighet till det kontot. För att göra detta följer du stegen nedan:
- Klicka på Start, peka på Administrationsverktyg och klicka sedan på Lokal säkerhetsprincip.
- Expandera Lokala principer och klicka sedan på Tilldelning av användarrättigheter.
- Dubbelklicka på Skapa globala objekt i den högra rutan.
- I dialogrutan Inställning för lokal säkerhetsprincip klickar du på Lägg till.
- I dialogrutan Välj användare eller grupp klickar du på de användarkonton som du vill lägga till, klickar på Lägg till och klickar sedan på OK.
- Klicka på OK.
Kommentar
När du använder ett konto som inte är medlem i den lokala gruppen Administratörer spelar inte UAC in.