Applies ToWindows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Sintomi

Considerare lo scenario descritto di seguito:

  • Si crea un pacchetto di SQL Server 2008 Integration Services R2 (SSIS) che include un componente di destinazione di SQL Server in un'attività flusso di lavoro.

  • Si prova a eseguire questo pacchetto nei sistemi in cui è abilitato il controllo dell'account utente (ad esempio, in Windows Vista o in Windows 7) usando uno dei metodi seguenti:

    • Business Intelligence Development Studio (offerte)

    • Esplora oggetti di SQL Server Management Studio (SSMS)

    • DTExec.exe

    • DTExecUI.exe

In questo scenario potrebbe essere visualizzato un messaggio di errore simile a uno dei seguenti:

[Destinazione SQL Server] Errore: non è possibile preparare l'inserimento bulk di SSIS per l'inserimento dei dati. SSIS. Pipeline] errore: il componente "destinazione SQL Server" non ha superato la fase di pre-esecuzione e ha restituito il codice di errore 0xC0202071. " Non è possibile copiare i dati in blocco. Potrebbe essere necessario eseguire il pacchetto come amministratore.

Note

  • Non si verificano questi errori se si esegue il pacchetto sotto l'account di amministratore predefinito creato durante l'installazione del sistema operativo. Ma si riceverà questo messaggio per qualsiasi altro utente, inclusi i membri del gruppo Administrators locale.

  • Il problema non si verifica quando si esegue lo stesso pacchetto SSIS come processo di SQL Server Agent.

  • Il secondo messaggio di errore viene generato solo dopo l'installazione di SQL 2008 Service Pack 2 (SP2).

Causa

Questo problema si verifica nei sistemi in cui l'UAC è abilitato. Quando un'applicazione (ad esempio SSIS) viene avviata da un account che è un membro del gruppo Administrators, riceve due token di sicurezza: un token con autorizzazioni minime e un token con autorizzazioni elevate. Il token di autorizzazioni elevate viene usato solo quando l'applicazione viene eseguita in modo esplicito con un account di amministratore usando l'opzione Esegui come amministratore . Per impostazione predefinita, SSIS usa sempre il token con autorizzazioni minime e questo causa un errore quando SSIS si connette a un componente di destinazione di SQL Server.Nota Quando si usa un account che non è un membro del gruppo Administrators locale, l'UAC non viene visualizzato.

Risoluzione

Informazioni sui Service Pack per SQL Server 2008 R2

Per risolvere il problema, ottenere il Service Pack più recente per SQL Server 2008 R2. Per altre informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

2527041 Come ottenere il Service Pack più recente per SQL Server 2008 R2

Stato

Microsoft ha confermato che si tratta di un problema nei prodotti Microsoft elencati nella sezione "si applica a". Questo problema è stato risolto per la prima volta in SQL Server 2008 R2 Service Pack 1 per SQL Server 2008 R2.

Soluzione alternativa

Per risolvere il problema, utilizzare uno dei metodi descritti di seguito.

  • Se si esegue il pacchetto da SSMS, da offerte o da DTExecUI. exe, avviare questi strumenti dall'account di amministratore. A questo scopo, fare clic sul pulsante Start, scegliere tutti i programmi, scegliere SQL server 2005 o SQL Server 2008, fare clic con il pulsante destro del mouse sullo strumento in uso e quindi scegliere Esegui come amministratore. In questo modo l'applicazione viene avviata usando le autorizzazioni elevate dell'account di amministratore incorporato e il pacchetto viene eseguito correttamente. Allo stesso modo, se si esegue il pacchetto tramite DTExec. exe, avviarlo da un prompt dei comandi con privilegi elevati. A tale scopo, fare clic sul pulsante Start, scegliere tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su prompt dei comandie quindi scegliere Esegui come amministratore.Nota Se non si accede al computer come amministratore, viene chiesto di specificare l'account di amministratore. In risposta digitare il nome utente e la password di amministratore nella finestra di dialogo controllo dell'account utente e quindi fare clic su OK.

  • Sostituire i componenti di destinazione di SQL Server nelle attività flusso di lavoro che non riescono con i componenti di destinazione OLE DB che puntano alla stessa gestione connessione di SQL Server.

  • Usa un account che non è un membro del gruppo Administrators locale dopo aver assegnato le autorizzazioni Crea oggetti globali a quell'account. A tal fine, attenersi alla seguente procedura:

    1. Fare clic sul pulsante Start, scegliere strumenti di amministrazionee quindi fare clic su criteri di sicurezzalocali.

    2. Espandere criteri localie quindi fare clic su assegnazione diritti utente.

    3. Nel riquadro dei dettagli fare doppio clic su Crea oggetti globali.

    4. Nella finestra di dialogo impostazioni dei criteri di sicurezza locali fare clic su Aggiungi.

    5. Nella finestra di dialogo Seleziona utenti o gruppo fare clic sugli account utente che si desidera aggiungere, fare clic su Aggiungie quindi fare clic su OK due volte.

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.