Replicación en suscriptores de tablas con optimización para memoria
Se aplica a: SQL Server Azure 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
Configurar la base de datos de suscriptor para admitir la replicación a tablas optimizadas para memoria
Establezca la propiedad @memory_optimized en true mediante sp_addsubscription (Transact-SQL) o sp_changesubscription (Transact-SQL).
Configurar el artículo para admitir la replicación a tablas optimizadas para memoria
Establezca la opción
@schema_option = 0x40000000000
para el artículo mediante sp_addarticle (Transact-SQL) o sp_changearticle (Transact-SQL).
Para configurar una tabla optimizada para memoria como suscriptor
Cree una publicación transaccional. Para obtener más información, vea Crear una suscripción.
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.En la ventana de propiedades del artículo, establezca Habilitar optimización para memoria en true.
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.
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
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.
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.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.
Vuelva a generar la instantánea.
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.
Las tablas replicadas en tablas optimizadas para memoria de un suscriptor están limitadas a los tipos de datos permitidos en las tablas optimizadas para memoria. Para obtener más información, vea Tipos de datos admitidos para OLTP en memoria.
No todas las características de Transact-SQL son compatibles con las tablas optimizadas en memoria. Vea Construcciones Transact-SQL no admitidas por OLTP en memoria para obtener información detallada.
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.