KB2216489-Fix: Fehlermeldung beim Versuch, ein SSIS-Paket auszuführen, das eine SQL Server-Zielkomponente in einer Datenflussaufgabe enthält

Gilt für: Windows 7Windows VistaSQL Server Management Studio

Problembeschreibung


Stellen Sie sich folgendes Szenario vor:
  • Sie erstellen ein SQL Server 2008 Integration Services R2 (SSIS)-Paket, das über eine SQL Server-Zielkomponente in einer Datenflussaufgabe verfügt.
  • Sie versuchen, dieses Paket auf Systemen auszuführen, auf denen die Benutzerkontensteuerung (UAC) aktiviert ist (beispielsweise in Windows Vista oder Windows 7), indem Sie eine der folgenden Methoden verwenden:
    • Business Intelligence Development Studio (Gebote)
    • SQL Server Management Studio (SSMS)-Objekt-Explorer
    • DTExec.exe
    • DTExecUI.exe
In diesem Szenario erhalten Sie möglicherweise eine Fehlermeldung, die einer der folgenden ähnelt:
[SQL Server-Ziel] Fehler: die SSIS-Masseneinfügung kann nicht für die Dateneinfügung vorbereitet werden. SSIS. Pipeline] Fehler: die Komponente "SQL Server-Ziel" hat die Phase "Pre-Execute" nicht durchgeführt und den Fehlercode 0xC0202071 zurückgegeben. " Massenkopieren von Daten ist nicht möglich. Möglicherweise müssen Sie dieses Paket als Administrator ausführen.
Hinweise
  • Diese Fehler treten nicht auf, wenn Sie das Paket unter dem integrierten Administrator Konto ausführen, das während der Installation des Betriebssystems erstellt wird. Sie erhalten aber diese Nachricht für jeden anderen Benutzer, einschließlich derjenigen, die Mitglieder der lokalen Gruppe Administratoren sind.
  • Das Problem tritt nicht auf, wenn Sie dasselbe SSIS-Paket wie einen SQL Server-Agent-Auftrag ausführen.
  • Die zweite Fehlermeldung wird erst nach der Installation von SQL 2008 Service Pack 2 (SP2) generiert.

Ursache


Dieses Problem tritt auf Systemen auf, bei denen die UAC aktiviert ist. Wenn eine Anwendung (wie SSIS) von einem Konto gestartet wird, das ein Mitglied der Gruppe "Administratoren" ist, erhält Sie zwei Sicherheitstoken: ein Token für niedrige Berechtigungen und ein Token mit erhöhten Berechtigungen. Das Token mit erhöhten Berechtigungen wird nur verwendet, wenn die Anwendung explizit unter einem Administratorkonto mithilfe der Option " als Administrator ausführen " ausgeführt wird. Standardmäßig verwendet SSIS immer das Token für niedrige Berechtigungen, und dies führt zu einem Fehler, wenn SSIS eine Verbindung mit einer SQL Server-Zielkomponente herstellt.Hinweis Wenn Sie ein Konto verwenden, das kein Mitglied der lokalen Gruppe Administratoren ist, wird die UAC nicht angezeigt.

Fehlerbehebung


Service Pack-Informationen für SQL Server 2008 R2

Um dieses Problem zu beheben, besorgen Sie sich das neueste Service Pack für SQL Server 2008 R2. Wenn Sie weitere Informationen wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2527041 So erhalten Sie das neueste Service Pack für SQL Server 2008 R2

Status


Microsoft hat bestätigt, dass es sich um ein Problem mit den Microsoft-Produkten handelt, die im Abschnitt "gilt für" aufgeführt sind. Dieses Problem wurde zuerst in SQL Server 2008 R2 Service Pack 1 für SQL Server 2008 R2 behoben.

Problemumgehung


Verwenden Sie eine der folgenden Methoden, um dieses Problem zu umgehen:
  • Wenn Sie das Paket aus SSMS, aus BIDS oder aus dtexecui. exe ausführen, starten Sie diese Tools aus dem Administratorkonto. Klicken Sie dazu auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf SQL Server 2005 oder SQL Server 2008, klicken Sie mit der rechten Maustaste auf das Tool, das Sie verwenden, und klicken Sie dann auf als Administrator ausführen. Dadurch wird die Anwendung mithilfe der erhöhten Berechtigungen des integrierten Administrator Kontos gestartet, und das Paket wird erfolgreich ausgeführt. Wenn Sie das Paket mithilfe von dtexec. exe ausführen, starten Sie es auf ähnliche Weise über eine Eingabeaufforderung mit erhöhten Rechten. Klicken Sie dazu auf Start, klicken Sie auf Alle Programme, klicken Sie auf Zubehör, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und klicken Sie dann auf als Administrator ausführen.Hinweis Wenn Sie sich nicht als Administrator beim Computer anmelden, werden Sie aufgefordert, das Administratorkonto anzugeben. Geben Sie als Antwort im Dialogfeld Benutzerkontensteuerung den Administratorbenutzernamen und das Kennwort ein, und klicken Sie dann auf OK.
  • Ersetzen Sie die SQL Server-Zielkomponenten in den Datenfluss Aufgaben, bei denen es sich nicht um OLE DB-Zielkomponenten handelt, die auf denselben SQL Server-Verbindungs-Manager verweisen.
  • Verwenden Sie ein Konto, das nicht Mitglied der lokalen Gruppe Administratoren ist, nachdem Sie diesem Konto Berechtigungen zum Erstellen globaler Objekte zugewiesen haben. Gehen Sie dazu wie folgt vor:
    1. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf lokale Sicherheitsrichtlinie.
    2. Erweitern Sie lokale Richtlinien, und klicken Sie dann auf Zuweisung von Benutzerrechten.
    3. Doppelklicken Sie im Detailbereich auf globale Objekte erstellen.
    4. Klicken Sie im Dialogfeld lokale Sicherheitsrichtlinieneinstellung auf Hinzufügen.
    5. Klicken Sie im Dialogfeld Benutzer oder Gruppe auswählen auf die Benutzerkonten, die Sie hinzufügen möchten, klicken Sie auf Hinzufügen, und klicken Sie dann zwei Mal auf OK .