Compartir a través de


Replicación en suscriptores de tablas con optimización para memoria

Se aplica a:SQL ServerAzure SQL Managed Instance

Las tablas que actúan como instantáneas y suscriptores de replicación transaccional, excluida la replicación transaccional punto a punto, pueden configurarse como tablas optimizadas para memoria. Otras configuraciones de replicación no son compatibles con las tablas optimizadas para memoria. A partir de SQL Server 2016 (13.x), esta característica no está disponible.

Son necesarias dos configuraciones

Para configurar una tabla optimizada 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, establezca Habilitar optimización para memoria en true.

  4. Inicie el trabajo 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 se reinicializa 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 con optimización para memoria no admiten índices agrupados. Para hacer posible esto, la replicación los convierte en índices no agrupados estableciendo Convertir índice agrupado en no agrupado para un artículo optimizado 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 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 admite la replicación transaccional punto a punto.

Las tablas con optimización para memoria no se pueden publicar.

Las tablas de replicación del distribuidor no se pueden configurar como tablas optimizadas para memoria.

La replicación de mezcla no puede incluir tablas optimizadas para memoria.

En el suscriptor, las tablas implicadas en la replicación transaccional se pueden configurar como tablas optimizadas para memoria, pero las tablas del suscriptor deben cumplir los requisitos de las tablas optimizadas para memoria. Esto requiere las restricciones siguientes.

Modificar un archivo de esquema

  • Si se usa la opción DURABILITY = SCHEMA_AND_DATA de tabla optimizada para memoria, la tabla debe tener un índice de clave principal no clúster.

  • ANSI_PADDING debe ser ON.