Replicación a la tabla optimizada para memoria «Subscribers»

Se aplica a:SQL ServerAzure SQL Managed Instance

Puedes configurar como tablas optimizadas para la memoria las tablas que actúen como suscriptores de replicación de instantáneas y de replicación transaccional, excepto en la replicación transaccional de igual a igual. Las tablas optimizadas para memoria no son compatibles con otras configuraciones de replicación. Esta función está disponible desde SQL Server 2016 (13.x).

Son necesarias dos configuraciones

Para configurar una tabla con optimización para memoria como suscriptor

  1. Cree una publicación transaccional. Para obtener más información, vea Crear una suscripción.

  2. Agregue artículos a la publicación. Para más información, consulte Define an Article.

    Si la configuración se realiza mediante Transact-SQL, establezca el parámetro @schema_option del procedimiento almacenado sp_addarticle en
    0x40000000000.

  3. En la ventana de propiedades del artículo, pon Habilitar optimización de memoria en verdadero.

  4. Inicie la tarea del Agente de instantáneas para generar la instantánea inicial de esta publicación. Para más información, consulte Crear y aplicar la instantánea inicial.

  5. Ahora cree una nueva suscripción. En el Asistente para nueva suscripción , establezca Suscripción optimizada para memoria en true.

Las tablas con optimización para memoria deben empezar ahora a recibir actualizaciones del publicador.

Reconfiguración de una replicación de transacción existente

  1. Vaya a las propiedades de suscripción de Management Studio y establezca Suscripción optimizada para memoria en true. Los cambios no se aplican hasta que reinicializas la suscripción.

    Si la configuración se realiza mediante Transact-SQL, establezca el nuevo parámetro @memory_optimized del procedimiento almacenado sp_addsubscription en true.

  2. Vaya a las propiedades del artículo de una publicación en Management Studio y establezca Habilitar optimización para memoria en true.

    Si la configuración se realiza mediante Transact-SQL, establezca el parámetro @schema_option del procedimiento almacenado sp_addarticle en
    0x40000000000.

  3. Las tablas optimizadas para memoria no admiten índices agrupados. Para que la replicación pueda gestionar esta limitación convirtiendo el índice a un índice no agrupado en el destino, se configura Convertir índice agrupado a no agrupado para artículo optimizado en memoria a verdadero.

    Si la configuración se realiza mediante Transact-SQL, establezca el parámetro @schema_option del procedimiento almacenado sp_addarticle en 0x0000080000000000.

  4. Vuelva a generar la instantánea.

  5. Reinicialice la suscripción.

Comentarios y restricciones

Solo se admite la replicación transaccional unidireccional. No se soporta la replicación transaccional entre iguales.

No puedes publicar tablas optimizadas para memoria.

No puedes configurar tablas de replicación en el distribuidor como tablas optimizadas para memoria.

No puedes incluir tablas optimizadas para memoria en la replicación de fusión.

En el suscriptor, puede configurar las tablas implicadas en la replicación transaccional como tablas optimizadas para memoria, pero las tablas del suscriptor deben cumplir los requisitos de las tablas optimizadas para memoria. Este requisito impone las siguientes restricciones:

Modificar un archivo de esquema

  • Si usas la opción DURABILITY = SCHEMA_AND_DATAde tabla optimizada para memoria , la tabla debe tener un índice de clave primaria no agrupado.

  • ANSI_PADDING debe ser ON.