Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseGuida pratica
Come creare un trigger di accesso per SQL Server

Come creare un trigger di accesso per SQL Server

Netwrix Auditor per SQL Server

  1. Esegui Netwrix Auditor, vai su Report → Scegli “SQL Server” → “Tutti gli accessi SQL Server” → Clicca su “Iscriviti”.
  2. Definisci destinatario e filtri, salva l'abbonamento. Puoi riceverlo via e-mail o farlo consegnare in una cartella condivisa specificata secondo il programma che stabilisci.

Esempio di rapporto:

Image

Scopri di più su Netwrix Auditor for SQL Server

Auditing Nativo

  • Esegui SQL Management Studio ed esegui il seguente codice in 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
      
  • Per visualizzare le informazioni raccolte sui logon in SQL Management Studio eseguire lo script seguente:
      SELECT *
  FROM [LogonAudit].[dbo].[LogonAuditing]
 You can save data to CSV format after that.
      

Esempio di rapporto:

Image

Superare la creazione di trigger di accesso su SQL Server per ottenere il controllo sull'accesso

Se qualcuno ha avuto accesso al tuo database SQL Server direttamente, devi saperlo immediatamente. Gli amministratori di database che ottengono l'accesso possono eseguire azioni illecite; per esempio, possono eliminare tabelle o creare trigger senza che tu te ne accorga. Gli strumenti nativi ti permettono di creare un trigger di accesso al logon di SQL Server per audire gli eventi di accesso su tutti i server e poi tenere d'occhio gli eventi di logon e l'esecuzione dei trigger utilizzando SQL Server Management Studio (SSMS). Ma preparati a spendere molto tempo per creare un codice di trigger in Transact-SQL e poi a esaminare meticolosamente le informazioni di audit per individuare accessi anomali.


Netwrix Auditor for SQL Server elimina la necessità di creare trigger DDL, inclusi i trigger di accesso in SQL Server, per abilitare l'audit del tuo SQL Server. La soluzione ti aiuta ad ottenere una visibilità pervasiva su chi ha tentato di accedere a qualsiasi istanza del tuo SQL Server mostrando il tentativo di accesso originale, quando e dove è stato effettuato, chi lo ha fatto e se è stato un successo o un fallimento. Con report intuitivi pronti all'uso e una ricerca simile a Google, puoi identificare e inseguire le minacce emergenti in pochissimo tempo. Inoltre, la soluzione archivia tutti i tuoi log per anni in uno storage a due livelli economicamente vantaggioso (database SQL + basato su file) e ti permette di accedervi facilmente in qualsiasi momento.

Condividi su