Heim > Datenbank > MySQL-Tutorial > Wie kann ich die SQL-Anweisungen protokollieren, die sich auf eine bestimmte Tabelle in SQL Server auswirken?

Wie kann ich die SQL-Anweisungen protokollieren, die sich auf eine bestimmte Tabelle in SQL Server auswirken?

DDD
Freigeben: 2025-01-03 01:00:39
Original
229 Leute haben es durchsucht

How Can I Log the SQL Statements Affecting a Specific Table in SQL Server?

Erstellen von Triggern zum Protokollieren von betroffenem SQL in SQL Server

In SQL Server 2008 können Sie Trigger erstellen, um das SQL zu erfassen, das eine Tabelle ändert und protokollieren Sie es zu Prüfzwecken.

Trigger Definition:

CREATE TRIGGER [dbo].[triggerAfterUpdate] 
   ON  [dbo].[TableWithMysteryUpdate] 
   AFTER UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    INSERT INTO [dbo].[LogTable] (
        ModifiedDate,
        ModifyingSQL
    )
    VALUES (
        GETDATE(),
        EVENTDATA()
    );
END
Nach dem Login kopieren

Protokolltabellendefinition:

CREATE TABLE [dbo].[LogTable] (
    [LogID] [INT] NOT NULL IDENTITY(1, 1),
    [ModifiedDate] [DATETIME] NOT NULL,
    [ModifyingSQL] [NVARCHAR](MAX) NOT NULL
);
Nach dem Login kopieren

Beispielverwendung:

Nach dem Erstellen Als Auslöser werden alle Aktualisierungen der Tabelle [dbo].[TableWithMysteryUpdate] im protokolliert [dbo].[LogTable].

Zusätzliche Hinweise:

  • Die Funktion EVENTDATA() erfasst die ausgeführte SQL-Anweisung, die das Ereignis ausgelöst hat.
  • Die Funktion GETDATE() zeichnet Datum und Uhrzeit der Aktualisierung auf.
  • Sie können die Protokolltabelle anpassen, um zusätzliche Informationen wie z Benutzer, der die Aktualisierung vorgenommen hat, oder die betroffenen Zeilen.
  • Dieser Ansatz bietet Einblick in die SQL, die bestimmte Tabellen ändert, ohne dass umfassende Datenbankkenntnisse erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich die SQL-Anweisungen protokollieren, die sich auf eine bestimmte Tabelle in SQL Server auswirken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage