Seguimiento de quién realizó el cambio identificado por los CDC.
En la línea de mi truco de fecha y hora , intenté el mismo enfoque agregando suser_sname como un nuevo campo con valor predeterminado en la tabla de seguimiento de cambios de cdc. Pero, eso parece devolver al propietario del proceso de CDC y no al usuario que inició el cambio en la tabla base. También probé original_login pero eso devuelve el inicio de sesión de la cuenta de servicio sql. De nuevo, probablemente asociado con el proceso de cdc y no con el usuario que inició el cambio.
Encontré una pregunta similar sobre el desbordamiento de la pila, pero sin otra respuesta que el seguimiento de los cambios desde el extremo frontal o mediante un disparador, que parece anular el propósito de usar cdc. No volvería a publicar, pero como el original estaba en stackoverflow, pensé en probarlo, especialmente si R2 o 2012 ha introducido una mejor manera.
En resumen: ¿cómo sé quién realizó el cambio en la captura de datos modificados?
fuente
Puede agregar la columna y tener un activador en la tabla para llenar al usuario en insertar / actualizar / eliminar y luego el CDC lo almacenará. Puede obtener el nombre de usuario desde la interfaz de usuario pasando el nombre de usuario utilizando la información de contexto o desde la sesión
fuente
¿Podría agregar un campo UpdatedBy en la tabla principal, configurarlo por defecto en SUSER_NAME () u ORIGINAL_LOGIN () y que los CDC llenen esos datos? Creo que eso le dará la misma información que está buscando.
fuente