Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia rozwiązanie problemu występującego podczas próby uruchomienia pakietu usług SSIS w systemach, w których włączono kontrolę konta użytkownika (UAC).
Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 2009672
Symptomy
Rozważmy następujący scenariusz:
Tworzysz pakiet usług SQL Server Integration Services (SSIS), który ma składnik docelowy programu SQL Server w ramach zadania przepływu danych.
Spróbuj uruchomić ten pakiet w systemach, w których włączono kontrolę konta użytkownika (UAC) (na przykład Vista lub Windows 7) przy użyciu jednej z następujących metod:
- Business Intelligence Development Studio (BIDS)
- program SQL Server Management Studio (SSMS) Eksplorator obiektów
- DTExec.exe
- DTExecUI.exe
W tym scenariuszu może zostać wyświetlony komunikat o błędzie podobny do następującego:
Błąd docelowy programu SQL Server: Nie można przygotować wstawiania zbiorczego usług SSIS na potrzeby wstawiania danych. [SSIS. Potok] Błąd: składnik "Miejsce docelowe programu SQL Server" zakończył się niepowodzeniem w fazie wstępnego wykonywania i zwrócił kod błędu 0xC0202071.
Uwaga 16.
Ten błąd nie zostanie wyświetlony, jeśli uruchomisz pakiet na koncie administratora wbudowanego, które zostanie utworzone podczas instalacji systemu operacyjnego. Ten komunikat zostanie jednak wyświetlony dla każdego innego użytkownika, w tym tych, którzy są członkami grupy Administratorzy lokalni.
Problem nie występuje podczas wykonywania tego samego pakietu usług SSIS co zadanie agenta programu SQL Server.
Po zainstalowaniu dodatku Service Pack 2 programu SQL 2008 tekst błędu DTS_E_BULKINSERTAPIPREPARATIONFAILED (0xC0202071) został zmieniony na: Nie można zbiorczo skopiować danych. Może być konieczne uruchomienie tego pakietu jako administrator.
Ta zmiana została podjęta w celu ułatwienia zrozumienia potrzebnych działań naprawczych, zgodnie z opisem w sekcji rozwiązania tej bazy wiedzy.
Przyczyna
W systemach, w których kontrola konta użytkownika jest włączona, gdy aplikacja (na przykład SSIS) jest uruchamiana przez konto, które jest członkiem grupy Administratorzy, pobiera dwa tokeny zabezpieczające, jeden token o niskim poziomie uprawnień, a drugi token z podwyższonym poziomem uprawnień. Token z podwyższonym poziomem uprawnień jest używany tylko wtedy, gdy aplikacja jest jawnie uruchamiana na koncie administratora, wybierając opcję Uruchom jako administrator . Domyślnie usługa SSIS zawsze używa tokenu o niskim poziomie uprawnień, co powoduje niepowodzenie podczas nawiązywania połączenia z miejscem docelowym SQL.
Rozwiązanie
Aby obejść ten problem, użyj jednej z następujących metod:
Jeśli używasz pakietu z programu SQL Server Management Studio (SSMS) lub Business Intelligence Development Studio (BIDS) lub DTExecUI.exe, uruchom te narzędzia na koncie administratora z podwyższonym poziomem uprawnień. W tym celu kliknij przycisk Start, wskaż pozycję Wszystkie programy, wskaż polecenie SQL Server 2005 lub SQL Server 2008, kliknij prawym przyciskiem myszy używane narzędzie, a następnie kliknij polecenie Uruchom jako administrator. Spowoduje to uruchomienie aplikacji z podwyższonym poziomem uprawnień konta wbudowanego administratora, a pakiet zostanie wykonany pomyślnie.
Podobnie jeśli używasz pakietu przy użyciu DTExec.exe uruchomić go z wiersza polecenia z podwyższonym poziomem uprawnień. Możesz uruchomić wiersz polecenia z podwyższonym poziomem uprawnień, klikając przycisk Start, kliknij pozycję Wszystkie programy, kliknij pozycję Akcesoria, kliknij prawym przyciskiem myszy wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator.
Uwaga 16.
Jeśli nie zalogujesz się na komputerze jako administrator, zostanie wyświetlony monit o podanie konta administratora. Po wyświetleniu monitu o podanie konta administratora wpisz nazwę użytkownika i hasło administratora w oknie dialogowym Kontrola konta użytkownika. Następnie kliknij przycisk OK.
Zastąp składniki docelowe programu SQL Server w zadaniach przepływu danych, które kończą się niepowodzeniem ze składnikami docelowymi OLE DB wskazującymi ten sam menedżer połączeń programu SQL Server.
Użyj konta, które nie jest członkiem lokalnej grupy Administratorzy po przypisaniu użytkownikowi Utwórz obiekty globalne prawa do tego konta. W tym celu wykonaj następujące kroki:
- Kliknij przycisk Start, wskaż pozycję Narzędzia administracyjne, a następnie kliknij pozycję Zasady zabezpieczeń lokalnych.
- Rozwiń węzeł Zasady lokalne, a następnie kliknij pozycję Przypisanie praw użytkownika.
- W okienku po prawej stronie kliknij dwukrotnie pozycję Utwórz obiekty globalne.
- W oknie dialogowym Ustawienia zasad zabezpieczeń lokalnych kliknij przycisk Dodaj.
- W oknie dialogowym Wybieranie użytkowników lub grupy kliknij konta użytkowników, które chcesz dodać, kliknij przycisk Dodaj, a następnie kliknij przycisk OK.
- Kliknij przycisk OK.
Uwaga 16.
W przypadku korzystania z konta, które nie jest członkiem lokalnej grupy administratorów, kontrola konta użytkownika nie wchodzi w grę.