REVISIÓN: Mensaje de error cuando ejecuta un paquete de SQL Server 2005 Integration Services que contiene una columna de un tipo de datos BLOB en una tarea de flujo de datos: "el Administrador de búfer no pudo obtener un nombre de archivo temporal. Error en la llamada a GetTempFileName"

Seleccione idioma Seleccione idioma
Id. de artículo: 972365 - Ver los productos a los que se aplica este artículo
Microsoft distribuye correcciones de Microsoft SQL Server 2005 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad incluidas en el anterior de SQL Server 2005.
Expandir todo | Contraer todo

En esta página

Síntomas

Tenga en cuenta la situación siguiente.
  • En Microsoft SQL Server 2005, tiene un paquete SQL Server Integration Services (SSIS) que utiliza una tarea de flujo de datos.
  • La tarea de flujo de datos contiene referencias a columnas de datos de objeto binario grande (BLOB). Una columna BLOB es una columna del tipo de datos DT_TEXT, el tipo de datos DT_NTEXT o el tipo de datos DT_IMAGE.
  • Establezca la propiedad BLOBTempStoragePath la tarea de flujo de datos. Cuando SSIS procesa la columna BLOB, temporalmente escribirá datos de la columna BLOB en el disco.
  • Hay más de 65.536 filas activas que contienen datos BLOB en la tarea de flujo de datos.

En este escenario, ejecutar el paquete SSIS. Cuando SSIS intenta escribir los datos BLOB en almacenamiento temporal, recibirá los mensajes de error siguientes:

mensaje de error 1

Error: 0x80070050 en tarea de flujo de datos DTS.Pipeline: el archivo existe.
mensaje de error 2

DTS_E_BUFFERGETTEMPFILENAME
Error: 0xC0048019 en tarea de flujo de datos DTS.Pipeline: el Administrador de búfer no pudo obtener un nombre de archivo temporal. Error en la llamada a GetTempFileName.
mensaje de error 3

DTS_E_UNUSABLETEMPORARYPATH
Error: 0xC0048013 en tarea de flujo de datos DTS.Pipeline: el Administrador de búfer no pudo crear un archivo temporal en la ruta "Path". La ruta de acceso no se considerarán para el almacenamiento temporal nuevo.
mensaje de error 4

DTS_E_CANTCREATEBLOBFILE
Error: 0xC0047070 en tarea de flujo de datos DTS.Pipeline: el Administrador de búfer no puede crear un archivo para poner en cola un objeto long en los directorios indicado en la propiedad BLOBTempStoragePath. O bien se ha proporcionado un nombre de archivo incorrecto, o no hay no permisos.
mensaje de error 5

DTS_E_UNABLETOWRITELOBDATATOBUFFER
Error: 0xC02020E5 en tarea de flujo de datos origen de archivo sin formato [1]: escribir datos de objeto long de tipo DT_TEXT, DT_NTEXT o DT_IMAGE en búfer de tarea de flujo de datos error para la columna "ColumnName".
mensaje de error 6

DTS_E_CANTADDBLOBDATA
Error: 0xC0208266 en tarea de flujo de datos DTS.Pipeline: datos Long se recuperó de una columna pero no puede agregarse al búfer de tarea de flujo de datos.


Teóricamente es posible que un problema similar puede producirse también en el siguiente escenario:
  • Ejecutar un paquete SSIS que contiene una tarea de flujo de datos.
  • Establezca la propiedad BufferTempStoragePath la tarea de flujo de datos. Cuando se envía una notificación de recurso de memoria baja al motor de flujo de datos, el motor de flujo de datos va a escribir los búferes de datos en los directorios que designan en la propiedad BufferTempStoragePath .
  • Más de 65.536 archivos temporales de búferes de datos se escriben en los directorios.
Nota En este escenario rara, recibirá mensajes de error diferente.
Si especifica carpetas adicionales en la propiedad BLOBTempStoragePath o en la propiedad BufferTempStoragePath y, a continuación, ejecutar de nuevo el paquete SSIS, encontrará las rutas adicionales se omiten y el paquete SSIS aún no se ejecuta correctamente.

Causa

Las carpetas que aparecen indicadas en las propiedades de BLOBTempStoragePath o BufferTempStoragePath contienen archivos temporales. Estos archivos temporales se denominan en un rango desde DTS.tmp mediante DTSFFFF.tmp. El intervalo de número es de 0 x 0 a 0xFFFF. Por ejemplo, nombres de archivo temporal posibles incluyen DTS.tmp, DTS1.tmp? y DTSFFFF.tmp. No hay nombres de archivo posibles 65.536 en total. Cuando hay más de 65.536 archivos, SSIS puede quedarse sin nombres de archivo y producir los errores que se mencionan en la sección síntoma.

Solución

La corrección para este problema se publicó por primera vez en 5 de actualización acumulativa para SQL Server 2005 Service Pack 3. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
972511 Paquete 5 de la actualización acumulativa para SQL Server 2005 Service Pack 3
Nota Como las compilaciones son acumulativas, cada versión de revisión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad incluidas en el anterior de SQL Server 2005. Microsoft recomienda que considere aplicar la versión de revisión más reciente que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
960598Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005 se crean las revisiones para los service Pack específicos de SQL Server. Debe aplicar una revisión de SQL Server 2005 Service Pack 3 a una instalación de SQL Server 2005 Service Pack 3. De forma predeterminada, cualquier revisión suministrada en un service pack se incluye en el siguiente service pack.

Solución

Para evitar este problema, utilice uno de los métodos siguientes:

Método 1

Aumentar el tamaño de búfer estableciendo la propiedad DefaultBufferSize en el valor máximo de 104,857,600.

Nota Si utiliza este método, puede haber más de consumo de memoria cuando ejecuta el paquete SSIS.

Método 2

En la fase de diseño, intente reducir las transformaciones de bloqueo o cuellos de botella indirectos después del punto donde se introducen las columnas BLOB a la tarea de flujo de datos. Este método puede reducir la posibilidad de que se pueda alcanzar el límite.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Después de aplicar este hotfix, los dos problemas siguientes son resueltos:
  • Varias rutas delimitadas por punto y coma, habilitará los búferes de derrama en los directorios adicionales que se especifican en las propiedades BLOBTempStoragePath o BufferTempStoragePath.

    Si especifica varias carpetas en las propiedades BLOBTempStoragePath o BufferTempStoragePath como ? C:\temp1; D:\temp2?and si no hay problema cuando SSIS intenta obtener acceso a la primera carpeta, se utilizará la segunda carpeta. Los archivos temporales no se distribuyen a través de las rutas de carpeta adicionales a menos que se encuentra un problema con la primera carpeta. Si no es un error grave, SSIS utilizará correctamente la siguiente carpeta en la lista.

    Sin embargo, si la primera carpeta se queda sin espacio en disco, se registrarán errores graves. Además, SSIS no se puede omitir el error correctamente y utilice la siguiente carpeta.
  • SSIS no se ejecutará fuera de los nombres. El nuevo modelo de nomenclatura archivo genera dinámicamente un GUID aleatorio para cada nombre de archivo temporal. Nuevos nombres de archivo comienzan con los tres prefijos siguientes:
    • DTT : los archivos temporales de DTT son archivos de prueba. Estos archivos se utilizan para asegurarse de que el directorio temporal se puede tener acceso a y escribir antes de guardar datos en el directorio.
    • DTB : archivos temporales de DTB son archivos temporales de BLOB. Estos archivos se utilizan cuando se procesan los tipos de datos DT_TEXT, DT_NTEXT o DT_IMAGE en una tarea de flujo de datos.
    • DTS : los archivos temporales de DTS son archivos temporales de intercambio de búfer.
    Éstos son ejemplos de nuevos nombres de archivo temporal:
    DTT {0004E1F9-8058-444 - 9DB0 - D DB9888331E20} .tmp
    DTB {001414F4-54AE-49E2-9FCE-09CFFEF974E2} .tmp
    DTS {003B57D9-A239-41CA-B478-F577E26F0DBB} .tmp

Referencias

Para obtener más información acerca del modelo incremental de servicio para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897Un modelo incremental de servicio está disponible desde el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca de cómo obtener SQL Server 2005 Service Pack 3, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
913089Cómo obtener el service pack más reciente para SQL Server 2005
Para obtener más información acerca de las nuevas características de SQL Server 2005 Service Pack 3 (SP3) y las mejoras de SQL Server 2005 SP3, visite el siguiente sitio Web de Microsoft:
http://go.microsoft.com/fwlink/?LinkId=131442
Para obtener más información sobre el esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetes de actualización del software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Propiedades

Id. de artículo: 972365 - Última revisión: lunes, 17 de agosto de 2009 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbmt kbsurveynew kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbhotfixserver KB972365 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 972365

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com