REVISIÓN: Mensaje de Error cuando intenta ejecutar un paquete SSIS que contiene un componente de destino de SQL Server en una tarea de flujo de datos

Se aplica a: Windows 7Windows VistaSQL Server Management Studio

Síntomas


Imagine la siguiente situación:
  • Crear un paquete de SQL Server 2008 Integration Services R2 (SSIS) que tiene un componente de destino de SQL Server en una tarea de flujo de datos.
  • Intente ejecutar este paquete en sistemas donde está habilitado el Control de cuentas de usuario (UAC) (por ejemplo, en Windows Vista o Windows 7) con uno de los métodos siguientes:
    • Business Intelligence Development Studio (BIDS)
    • Explorador de objetos de SQL Server Management Studio (SSMS)
    • DTExec.exe
    • DTExecUI.exe
En este escenario, puede recibir un mensaje de error similar a uno de los siguientes:
[Destino de SQL Server] Error: No se puede preparar la SSIS inserción masiva de inserción de datos. [SSIS. Error de canalización]: error en la fase se de componente "Destino de SQL Server" y devolvió el código de error 0xC0202071. " No se puede copiar datos de forma masiva. Debe ejecutar este paquete como administrador.
Notas
  • No encuentra estos errores si se ejecuta el paquete en la cuenta de administrador integrada que se crea durante la instalación del sistema operativo. Pero, recibirá este mensaje a otro usuario, incluyendo aquellos que son miembros del grupo Administradores Local.
  • El problema no se produce cuando se ejecuta el mismo paquete SSIS como un trabajo del agente de SQL Server.
  • El segundo mensaje de error se genera sólo después de instalar el Service Pack 2 (SP2) de SQL 2008.

Causa


Este problema se produce en sistemas cuando UAC está habilitado. Cuando se inicia una aplicación (por ejemplo, SSIS) mediante una cuenta que sea miembro del grupo Administradores, recibe dos tokens de seguridad: un token de permisos bajos y un token de permisos elevados. El token con privilegios elevados permisos sólo se utiliza cuando la aplicación explícitamente se ejecuta bajo una cuenta de administrador mediante la opción Ejecutar como administrador . De forma predeterminada, SSIS siempre utiliza el símbolo (token) de permisos bajos, y esto provoca un error cuando SSIS se conecta a un componente de destino de SQL Server.Nota: Cuando utilice una cuenta que no es miembro del grupo local Administradores, UAC no aparece.

Solución


Información del Service pack para SQL Server 2008 R2

Para resolver este problema, obtenga el service pack más reciente para SQL Server 2008 R2. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2527041 Cómo obtener el service pack más reciente para SQL Server 2008 R2

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a". Este problema se corrigió primero en SQL Server 2008 R2 Service Pack 1 para SQL Server 2008 R2.

Solución alternativa


Como solución alternativa para este problema, utilice uno de los métodos siguientes:
  • Si está ejecutando el paquete de SSMS, de pujas o de DTExecUI.exe, iniciar las herramientas desde la cuenta de administrador. Para ello, haga clic en Inicio, seleccione Todos los programas, señale a SQL Server 2005 o SQL Server 2008, haga clic en la herramienta que esté utilizando y, a continuación, haga clic en Ejecutar como administrador. Esto inicia la aplicación con los permisos elevados de integrada en el Administrador de cuenta y el paquete, se ejecuta correctamente. De forma similar si se ejecuta el paquete utilizando DTExec.exe, inícielo desde un símbolo del sistema con privilegios elevados. Para ello, haga clic en Inicio, haga clic en Todos los programas, Accesorios, haga clic en símbolo del sistemay, a continuación, haga clic en Ejecutar como administrador.Nota: Si no inicia sesión en el equipo como administrador, deberá proporcionar la cuenta de administrador. En respuesta, escriba el nombre de usuario administrador y la contraseña en el cuadro de diálogo Control de cuentas de usuario y, a continuación, haga clic en Aceptar.
  • Reemplace los componentes de destino de SQL Server en las tareas de flujo de datos que se producen errores con componentes de destino de OLE DB que elija el mismo administrador de conexión de SQL Server.
  • Utilice una cuenta que no es miembro del grupo Administradores local después de asignar los permisos Crear objetos globales a esa cuenta. Para ello, siga estos pasos:
    1. Haga clic en Inicio, seleccione Herramientas administrativasy, a continuación, haga clic en Local de Directiva de seguridad.
    2. Expanda Directivas localesy, a continuación, haga clic en Asignación de derechos de usuario.
    3. En el panel de detalles, haga doble clic en crear objetos globales.
    4. En el cuadro de diálogo Configuración de seguridad local , haga clic en Agregar.
    5. En el cuadro de diálogo Seleccionar usuarios o grupos , haga clic en las cuentas de usuario que desea agregar, haga clic en Agregary, a continuación, haga clic en Aceptar dos veces.