Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel helpt u bij het oplossen van het probleem dat optreedt wanneer u probeert een SSIS-pakket uit te voeren op systemen waarvoor UAC (User Account Control) is ingeschakeld.
Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 2009672
Symptomen
Bekijk het volgende scenario:
U maakt een SSIS-pakket (SQL Server Integration Services) met een SQL Server-doelonderdeel binnen een gegevensstroomtaak.
U probeert dit pakket uit te voeren op systemen waarop UAC (User Account Control) is ingeschakeld (bijvoorbeeld Vista of Windows 7) met een van de volgende methoden:
- Business Intelligence Development Studio (BIDS)
- SSMS-Objectverkenner (SQL Server Management Studio)
- DTExec.exe
- DTExecUI.exe
In dit scenario krijgt u mogelijk een foutbericht dat er ongeveer als volgt uitziet:
SQL Server-bestemming] Fout: kan de SSIS-bulkinvoeging voor gegevensinvoeging niet voorbereiden. [SSIS. Pijplijn] Fout: onderdeel 'SQL Server-bestemming' is mislukt in de fase vooraf uitvoeren en de geretourneerde foutcode 0xC0202071.
Notitie
Deze fout wordt niet weergegeven als u het pakket uitvoert onder het ingebouwde administratoraccount dat wordt gemaakt tijdens de installatie van het besturingssysteem. Maar u krijgt dit bericht voor elke andere gebruiker, inclusief gebruikers die lid zijn van de groep Lokale beheerders.
Het probleem treedt niet op wanneer u hetzelfde SSIS-pakket uitvoert als een SQL Server Agent-taak.
Nadat SQL 2008 Service Pack 2 is geïnstalleerd, is de tekst van de fout DTS_E_BULKINSERTAPIPREPARATIONFAILED (0xC0202071) gewijzigd in: Kan geen gegevens bulksgewijs kopiëren. Mogelijk moet u dit pakket uitvoeren als beheerder.
Deze wijziging is aangebracht in een poging om de benodigde corrigerende actie gemakkelijker te begrijpen, zoals beschreven in de sectie oplossing van deze KB.
Oorzaak
Wanneer een toepassing (zoals SSIS) wordt gestart door een account dat lid is van de groep Administrators, krijgt het twee beveiligingstokens, één met een token met beperkte bevoegdheden en een ander een token met verhoogde bevoegdheden. Het token met verhoogde bevoegdheid wordt alleen gebruikt wanneer de toepassing expliciet wordt uitgevoerd onder een Administrator-account door de optie Uitvoeren als administrator te kiezen. Standaard gebruikt SSIS altijd het token met beperkte bevoegdheden, wat resulteert in een fout bij het maken van verbinding met een SQL-bestemming.
Oplossing
Gebruik een van de volgende methoden om het probleem te omzeilen:
Als u het pakket uitvoert vanuit SQL Server Management Studio (SSMS) of Business Intelligence Development Studio (BIDS) of DTExecUI.exe, start u deze hulpprogramma's onder het beheerdersaccount met verhoogde bevoegdheid. 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 Uitvoeren als administrator. Hiermee start u de toepassing met verhoogde bevoegdheden van het ingebouwde administratoraccount en wordt het pakket uitgevoerd.
Als u het pakket uitvoert met behulp van DTExec.exe start u het vanaf een opdrachtprompt met verhoogde bevoegdheid. U kunt de opdrachtprompt met verhoogde bevoegdheid starten door op Start te klikken, op Alle programma's, op Accessoires te klikken, met de rechtermuisknop op de opdrachtprompt te klikken en vervolgens op Uitvoeren als administrator te klikken.
Notitie
Als u zich niet als beheerder aanmeldt bij de computer, wordt u gevraagd het beheerdersaccount op te geven. Wanneer u wordt gevraagd om het beheerdersaccount op te geven, typt u de gebruikersnaam en het wachtwoord van de beheerder in het dialoogvenster Gebruikersaccountbeheer . Klik dan op OK.
Vervang de SQL Server-doelonderdelen in de gegevensstroomtaken die mislukken door OLE DB-doelonderdelen die verwijzen naar hetzelfde SQL Server-verbindingsbeheer.
Gebruik een account dat geen lid is van de lokale groep Administrators nadat u het gebruikersrecht Globale objecten maken hebt toegewezen aan dat account. Hiervoor volgt u deze stappen:
- Klik op Start, wijs Systeembeheer aan en klik vervolgens op Lokaal beveiligingsbeleid.
- Vouw Lokaal beleid uit en klik vervolgens op Toewijzing van gebruikersrechten.
- Dubbelklik in het rechterdeelvenster op Globale objecten maken.
- Klik in het dialoogvenster Lokale beveiligingsbeleidsinstelling op Toevoegen.
- Klik in het dialoogvenster Gebruikers of groep selecteren op de gebruikersaccounts die u wilt toevoegen, klik op Toevoegen en klik vervolgens op OK.
- Klik op OK.
Notitie
Wanneer u een account gebruikt dat geen lid is van de lokale groep Administrators, wordt UAC niet gebruikt.