PRB: Operaciones de masiva en tablas de resultados en filas que no se replican en la duplicación de mezcla

Seleccione idioma Seleccione idioma
Id. de artículo: 275680 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza operaciones masivas, como la utilidad de línea de comandos de bcp , instrucciones BULK INSERT Transact-SQL, la API de copia masiva o SQL Server servicios de transformación de datos (DTS), para cargar datos en tablas que participan en la duplicación de mezcla, a menos que se toman determinadas medidas, las filas insertadas no se replican en otros servidores.

Causa

Puesto que estas operaciones masivas son optimizadas para cargas más rápidos y eficaz de grandes cantidades de datos, de forma predeterminada no activan los desencadenadores en la tabla que recibe los datos insertados. Dado que la duplicación de mezcla requiere el uso de desencadenadores de sistema de tablas que participan para realizar un seguimiento cambios entre el publicador y suscriptor, si no se activan los desencadenadores, duplicación de mezcla no puede replicar las filas.

Solución

La solución para este problema depende del método que se utiliza para datos de copia masiva y la versión de SQL Server que utiliza:

  • Si está utilizando DTS de SQL Server para insertar filas, desactive la opción de Carga rápida de usar (habilitada de forma predeterminada) en la ficha Opciones de la hoja de propiedades de Tarea de transformación de datos . Sin embargo, no tenga en cuenta que la tarea de inserción de masiva de SQL Server 2000 no expone la posibilidad de cambiar la opción de Carga rápida de usar sólo la tarea Transformar datos.

  • Si utiliza la utilidad de línea de comandos de bcp o la instrucción Transact-SQL BULK INSERT en SQL Server 2000, debe utilizar la opción FIRE_TRIGGERS. Tenga en cuenta que la opción FIRE_TRIGGERS no está disponible en SQL Server versión 7.0. Porque el FIRE_TRIGGERS opción para operaciones masivas en SQL Server versión 7.0 no está disponible, cualquier operación masiva fuera de DTS da como resultado las filas que no se replican a los suscriptores.

  • Cuando se utiliza la API de copia masiva a través de ODBC, debe habilitar la opción FIRE_TRIGGERS en el identificador de conexión adecuada mediante una llamada a la función bcp_control() .

  • Cuando se utiliza la interfaz IRowsetFastLoad de OLE DB, especifique la opción FIRE_TRIGGERS para la propiedad SSPROP_FASTLOADOPTIONS en la interfaz IOpenRowset.

Más información

Insertar, eliminar y los comandos de actualización se replica en una publicación de duplicación de mezcla se realiza un seguimiento por el agente de mezcla cuando se agregan a las tablas MSmerge_contents y MSmerge_tombstone . Se agregan filas a estas tablas mediante desencadenadores de sistema creados en las tablas durante la instalación de replicación.

Operaciones masivas no comprobar las restricciones de tabla o activan los desencadenadores en la tabla de destino. Como resultado, no se activan los desencadenadores de sistema de duplicación de mezcla. Porque no se activan estos desencadenadores, las filas que son "tocado" por la inserción masiva operaciones no se agregan a la tabla MSmerge_contents y, por lo tanto, no se replican a los suscriptores.

REFERENCIAS

Para obtener más información acerca de los efectos de desencadenador ejecución en las tablas de destino cuando se especifica la opción FIRE_TRIGGERS, vea el tema "Utilizar bcp y BULK INSERT" en los libros en pantalla de SQL Server 2000.

Propiedades

Id. de artículo: 275680 - Última revisión: viernes, 31 de octubre de 2003 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palabras clave: 
kbmt kbprb KB275680 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): 275680

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