Esta página incluye información sobre lo siguiente:
- El comportamiento de cómo Datastream controla los datos que se extraen de una base de datos de SQL Server de origen.
- Las versiones de las bases de datos de SQL Server que Datastream admite
- Limitaciones conocidas para usar la base de datos de SQL Server como fuente
Comportamiento
Datastream realiza un seguimiento de los cambios en el lenguaje de manipulación de datos (DML) con uno de los siguientes métodos de CDC:
Cambiar tablas
El método de CDC de tablas de cambios permite a los usuarios retener registros por un período más corto y, por lo tanto, ahorrar espacio de almacenamiento, pero admite una menor capacidad de procesamiento en comparación con el método de registros de transacciones. El método tiene menos limitaciones que los registros de transacciones. Por ejemplo, elimina el riesgo de truncamiento de registros, lo que genera fallas permanentes en las transmisiones, y admite la replicación de tablas encriptadas. Para obtener más información, consulta Limitaciones conocidas.
Cuando se usa este método de CDC, se realiza un seguimiento de los cambios en la fuente con tablas de cambios dedicadas. Los registros de transacciones aún se usan, pero de forma limitada, y no es necesario conservarlos durante períodos más largos. A medida que se aplican los eventos de DML a las tablas de origen, los cambios se replican en las tablas de cambios correspondientes. Las tablas de cambios tienen la misma estructura que las tablas de origen, pero con columnas adicionales para incluir los metadatos de los cambios. Solo se agregan transacciones confirmadas a las tablas de cambios, junto con el número de secuencia de registro (LSN) de la operación de confirmación.
Registros de transacciones
Cuando se usa este método de CDC, Datastream lee los cambios en la fuente directamente desde los registros de transacciones. Este método requiere menos recursos y permite una recuperación de datos más rápida, pero tiene más limitaciones.
Para evitar la pérdida de datos, es importante que los registros no se truncen antes de que Datastream los lea. Por otro lado, si conservas los archivos de registro durante demasiado tiempo, ocupan espacio de almacenamiento, lo que podría provocar que la instancia de la base de datos entre en modo de solo lectura.
Para asegurarte de que el lector de CDC tenga tiempo suficiente para leer los registros y, al mismo tiempo, permitir que la truncación de registros libere espacio de almacenamiento, debes aplicar pasos de configuración adicionales, como cambiar los intervalos de sondeo y configurar una protección contra truncaciones. Estos pasos proporcionan una capa adicional de protección para garantizar que Datastream pueda leer los datos, incluso si hay un tiempo de inactividad en Datastream o un problema de conectividad entre la base de datos de origen y Datastream.
Para obtener instrucciones detalladas sobre cómo aplicar estas medidas adicionales, consulta la página Configura una base de datos de SQL Server de origen y selecciona tu tipo de base de datos.
Versiones
Datastream admite las siguientes versiones y ediciones de bases de datos de SQL Server:
- Autoadministrado (local o alojado en la nube) con las siguientes versiones:
- Enterprise: 2008 y versiones posteriores
- Estándar: 2016 SP1 y versiones posteriores
- Desarrollador: 2008 y versiones posteriores
- Amazon RDS for SQL Server
Azure SQL Database (nivel S3 y superior)
Cloud SQL for SQL Server
Datastream no admite las siguientes versiones de bases de datos de SQL Server:
- SQL Server Standard Edition desde la versión 2008 a la 2014
- SQL Server Express
- SQL Server Web
Limitaciones conocidas
Entre las limitaciones conocidas para usar la base de datos de SQL Server como fuente, se incluyen las siguientes:
- Las transmisiones se limitan a 10,000 tablas.
- Una tabla que tiene más de 500 millones de filas no se puede reabastecer, a menos que se cumplan las siguientes condiciones:
- La tabla tiene un índice único.
- Ninguna de las columnas de índice puede aceptar valores nulos.
- Todas las columnas del índice se incluyen en el flujo.
- No se admiten bases de datos con durabilidad retrasada o recuperación acelerada de la base de datos (ADR) habilitada.
- No se admiten cambios de transmisión en las tablas del sistema.
- No se admite la autenticación de Windows Active Directory (AD).
- No se admiten los siguientes tipos de datos ni se replican en el destino:
SQL_VARIANT
HIERARCHYID
GEOMETRY
GEOGRAPHY
- Datastream replica los tipos de datos definidos por el usuario. Sin embargo, es el tipo de datos base del que derivas el tipo definido por el usuario que se almacena en el destino. Por ejemplo, si defines un tipo de datos
USERNAME
según el tipo de datosVARCHAR(50)
, los datos se almacenarán en el destino comoVARCHAR(50)
. Datastream no admite el CDC para columnas de objetos grandes (
TEXT
,NTEXT
,XML
,IMAGE
) y columnas de longitud variable máxima (VARCHAR(MAX)
,VARBINARY(MAX)
,NVARCHAR(MAX)
) en tablas sin un índice único.Si no se incluyen columnas de objetos grandes en el flujo, se admite el CDC.
Datastream no admite la replicación de cambios de esquema de origen cuando se usa el método CDC de tablas de cambios. Los siguientes cambios de esquema pueden causar daños en los datos o que no se puedan procesar los eventos:
- Agregar columnas: Las columnas nuevas no se replican en el destino.
- Eliminación de columnas: Los datos de estas columnas se reemplazan por valores
NULL
. - Modificación de tipos de datos: Datastream intenta insertar los datos en el destino y muestra un error si se rechazan.
- Cambio de nombre de las columnas: No se admite en SQL Server cuando las CDC están habilitadas.
Datastream no admite el enmascaramiento de datos. Los datos se replican sin enmascaramiento.
Datastream no admite la replicación de cambios aplicados a la base de datos con el paquete de aplicación de nivel de datos (DACPAC).
Datastream no replica los cambios realizados con las sentencias
WRITETEXT
oUPDATETEXT
.Datastream no admite la replicación de columnas calculadas, a menos que la columna esté marcada como
PERSISTED
.Datastream no admite los tipos de compresión
PAGE
,COLUMNSTORE
niCOLUMNSTORE ARCHIVE
.
Limitaciones adicionales cuando se usa el método de registros de transacciones
Si usas el método de CDC de registros de transacciones, se aplican las siguientes limitaciones adicionales:
- No se admite la encriptación de datos transparente (TDE).
- No se admite la encriptación a nivel de la columna. Los datos de estas columnas se reemplazan por valores
NULL
. - Datastream no admite la sentencia
ROLLBACK TO SAVEPOINT
. Estos eventos de reversión se ignoran y no se replican en el destino. - Datastream no admite CDC para filas de más de 8 KB en los siguientes tipos de tablas:
- Tablas sin un índice único
- Tablas que contienen solo un índice único no agrupado con una o más columnas de longitud variable (
VARCHAR
,VARBINARY
,NVARCHAR
)
Datastream no admite CDC para columnas de objetos grandes (
TEXT
,NTEXT
,XML
,IMAGE
) en los siguientes tipos de tablas:- Tablas sin un índice único
- Tablas que contienen solo un índice único no agrupado con una o más columnas de longitud variable (
VARCHAR
,VARBINARY
,NVARCHAR
)
Si no se incluyen columnas de objetos grandes en el flujo, el CDC solo se admite para esas tablas si tienen índices válidos.
¿Qué sigue?
- Aprende a configurar una fuente de SQL Server para usarla con Datastream.