none
Almacenar usuarios que se conectan diarimanete a la BBDD RRS feed

  • Pregunta

  • Buenas, me gustaría saber si hay alguna manera de almacenar los usuarios que se conectan a una BBDD cada día, y cómo sería esa manera claro.

    Muchas gracias y un saludo

    miércoles, 30 de mayo de 2018 9:56

Respuestas

Todas las respuestas

  • Hola Ricardo760:

    Si te refieres a una auditoria por login:

    luego en la ruta correspondiente a C:\Program Files\Microsoft SQL Server\MSSQL.NOMBREINSTANCIA\MSSQL\Log

    verás que hay un archivo llamado ERRORLOG que contiene esta auditoria.

    2018-05-30 12:54:12.18 Logon       Login succeeded for user 'sa'. Connection made using SQL Server authentication. [CLIENTE: fe80::141f:227:aa2d:6b2f%8]
    2018-05-30 12:54:14.31 Logon       Login succeeded for user 'sa'. Connection made using SQL Server authentication. [CLIENTE: fe80::141f:227:aa2d:6b2f%8]
    2018-05-30 12:54:14.94 Logon       Login succeeded for user 'sa'. Connection made using SQL Server authentication. [CLIENTE: fe80::141f:227:aa2d:6b2f%8]
    2018-05-30 12:54:15.10 Logon       Login succeeded for user 'sa'. Connection made using SQL Server authentication. [CLIENTE: fe80::141f:227:aa2d:6b2f%8]

    Esta puede ser una opción simple. Revisar este log.

    Un saludo

    miércoles, 30 de mayo de 2018 11:21
  • Muchas gracias Javi,

    Es muy buena solución pero yo no tengo acceso al servidor de producción y no puedo acceder al fichero en cuestión. Y me gustaría si es posible como solución ideal, poder almacenarlo en una tabla para tener un histórico y así poder analizar numero de conexiones diarias e información extra de los usuarios que acceden.

    Gracias de nuevo Javi y perdona por no especificar todo esto anteriormente.

    miércoles, 30 de mayo de 2018 11:33
  • Podrias crear un trigger de Logon, y dentro del trigger grabar el usuario en la tabla deseada.

    https://docs.microsoft.com/en-us/sql/relational-databases/triggers/logon-triggers?view=sql-server-2017

    • Marcado como respuesta Ricardo760 jueves, 31 de mayo de 2018 9:09
    miércoles, 30 de mayo de 2018 15:18
  • Hola,

    Como te indican, puedes usar un trigger de Logon, o si no algo como:

    DECLARE @SQLlogs TABLE
    (
    LogDate DATETIME,
    ProcessInfo VARCHAR(255),
    Text VARCHAR(MAX)
    )

    INSERT INTO @SQLlogs
    EXEC sp_readerrorlog

    SELECT *
    FROM @SQLlogs where text like '%Login%'
    GO

    Saludos!

    • Marcado como respuesta Ricardo760 jueves, 31 de mayo de 2018 9:09
    miércoles, 30 de mayo de 2018 15:32
  • Muchas gracias, parece que si que está funcionando

    Un saludo

    jueves, 31 de mayo de 2018 9:10