No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Tablas versionadas

17/31
Recursos

Aportes 11

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

  • Las tablas versionadas son estructuras paralelas, que van a funcionar en el mismo esquema y que van a guardar el historial de cambios, es muy útil para auditoria.

El tema es bastante extenso, les comparto un link que me ayudo mucho Tablas temporales

Uso de tablas versionadas

Las tablas versionadas suelen ser útiles en escenarios que requieren historial de seguimiento de cambios de datos debido a las enormes ventajas de productividad.

SQL se encarga de administrar los recursos para el control de versiones.

Escenarios donde usarlas
control de versiones para información crítica
Para regresar a valores anteriores de una forma sencilla.

auditoria de datos
Controlar cuál usuario y en qué momento realizaron cambios en los valores de la tabla.

Pero ¿Cómo retorno a un versión especifica de la tabla versionada? No mostró eso…

Estos son los casos de uso más comunes
para las tablas temporales:

Auditoría. Con tablas temporales puede averiguar qué valores una entidad específica ha tenido en toda su vida.
Cambio de dimensiones lentas en un Data Warehouse. Una tabla versionada del sistema se comporta exactamente como una dimensión de tipo 2 cambiando comportamientos de sus propias tablas En este caso, la tabla de dimensión incluye los campos de fecha inicio de vigencia y fecha fin de vigencia. Estas fechas nos permiten determinar en qué estado estaba la dimensión en cualquier fecha del calendario.
Reparación de corrupciones a nivel de registro. Que sería como una especie de mecanismo de copia de seguridad en una sola tabla.
Eliminación accidental de un registro. Recuperar el archivo de la tabla historial e insertarla de nuevo en la tabla principal.

Esta funcionalidad me era completamente desconocida. En mi trabajo actual puede ser muy útil porque tenemos muchas tablas de las cuales se requiere realizar un seguimiento de los cambios y, tradicionalmente, se hace un control a través de procedimientos almacenados.

Me preguntaba sobre la fecha y hora de los cambios ValidFrom y ValidTo que son de tipo datetime2 y no coincidían con los de mi equipo. El valor es generado en hora media de Greenwich. Se puede ver el valor de la siguiente manera en el SQL Server:

SELECT GetUTCDate()

Es la hora GMT.

triggers VS tablas versionadas **Simplicidad y Mantenimiento**:* Las tablas versionadas son más simples de mantener ya que SQL Server se encarga automáticamente de la captura de cambios. * **Flexibilidad**:* Los triggers son más flexibles y pueden ser personalizados para necesidades específicas, pero requieren más mantenimiento y pueden ser más propensos a errores. * **Rendimiento**:* Las tablas versionadas generalmente tienen mejor rendimiento porque SQL Server está optimizado para estas operaciones, mientras que los triggers pueden añadir sobrecarga. * **Compatibilidad**:* Los triggers funcionan en versiones más antiguas de SQL Server, mientras que las tablas versionadas requieren SQL Server 2016 o superior.

Eliminar el versionamiento de las tablas

Datos que guarda la tabla versionada

Agregar tabla versionada a una tabla ya registrada