Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Centro de recursosGuía práctica
Cómo crear un disparador de inicio de sesión en SQL Server

Cómo crear un disparador de inicio de sesión en SQL Server

Netwrix Auditor para SQL Server

  1. Ejecute Netwrix Auditor, Navegue a Informes → Elija “SQL Server” → “Todos los inicios de sesión de SQL Server” → Haga clic en “Suscribirse”.
  2. Defina el destinatario y los filtros, guarde la suscripción. Puede recibirlo vía e-mail o hacer que se entregue en una carpeta compartida especificada según el horario que establezca.

Muestra del informe:

Image

Aprende más sobre Netwrix Auditor for SQL Server

Auditoría Nativa

  • Ejecute SQL Management Studio y ejecute el siguiente código en Transact-SQL:
      CREATE DATABASE LogonAudit /* Creates db for storing audit data */
USE [LogonAudit]
CREATE TABLE LogonAuditing /* Creates table for logons inside db */
(
    SessionId int,
    LogonTime datetime,
    HostName varchar(50),
    ProgramName varchar(500),
    LoginName varchar(50),
    ClientHost varchar(50)
)
GO
CREATE TRIGGER [LogonAuditTrigger] /* Creates trigger for logons */
ON ALL SERVER 
FOR LOGON
AS

BEGIN
DECLARE @LogonTriggerData xml,
@EventTime datetime,
@LoginName varchar(50),
@ClientHost varchar(50),
@LoginType varchar(50),
@HostName varchar(50),
@AppName varchar(500)

SET @LogonTriggerData = eventdata()

SET @EventTime = @LogonTriggerData.value('(/EVENT_INSTANCE/PostTime)[1]', 'datetime')
SET @LoginName = @LogonTriggerData.value('(/EVENT_INSTANCE/LoginName)[1]', 'varchar(50)')
SET @ClientHost = @LogonTriggerData.value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(50)')
SET @HostName = HOST_NAME()
SET @AppName = APP_NAME()

INSERT INTO [LogonAudit].[dbo].[LogonAuditing]
(
SessionId,
LogonTime,
HostName,
ProgramName,
LoginName,
ClientHost
)
SELECT
@@spid,
@EventTime,
@HostName,
@AppName,
@LoginName,
@ClientHost

END
GO
      
  • Para ver la información recopilada sobre los inicios de sesión en el SQL Management Studio, ejecute el siguiente script:
      SELECT *
  FROM [LogonAudit].[dbo].[LogonAuditing]
 You can save data to CSV format after that.
      

Muestra del informe:

Image

Supere la creación de desencadenadores de inicio de sesión en SQL Server para obtener control sobre el acceso

Si alguien ha accedido directamente a tu base de datos de SQL Server, necesitas saberlo de inmediato. Los administradores de bases de datos que obtienen acceso pueden realizar acciones ilícitas; por ejemplo, pueden eliminar tablas o crear disparadores sin que te des cuenta. Las herramientas nativas te permiten crear un disparador de inicio de sesión en SQL Server para auditar eventos de acceso en todos los servidores y luego mantener un ojo en los eventos de inicio de sesión y la ejecución de disparadores utilizando SQL Server Management Studio (SSMS). Pero prepárate para invertir un tiempo significativo creando un código de disparador en Transact-SQL y luego examinando minuciosamente la información de auditoría para detectar accesos anómalos.


Netwrix Auditor for SQL Server elimina la necesidad de crear disparadores DDL, incluyendo disparadores de inicio de sesión en SQL Server, para habilitar la auditoría de su SQL Server. La solución le ayuda a obtener una visibilidad completa sobre quién intentó acceder a cualquiera de sus instancias de SQL Server mostrando el intento de inicio de sesión original, cuándo y dónde se hizo, quién lo hizo y si fue exitoso o fallido. Con informes perspicaces listos para usar y una búsqueda al estilo Google, puede identificar y perseguir amenazas emergentes en muy poco tiempo. Además, la solución almacena todos sus registros durante años en un almacenamiento de dos niveles rentable (base de datos SQL + basado en archivos) y le permite acceder a ellos fácilmente en cualquier momento.

Compartir en