SQL protokollieren, das eine Tabelle beeinflusst hat
Um die Quelle von Aktualisierungen einer Spalte zu ermitteln, können Sie einen Trigger für die betroffene Tabelle erstellen erfasst die für die Änderungen verantwortliche SQL. Lassen Sie uns untersuchen, wie Sie dies in Microsoft SQL Server 2008 erreichen können.
Erstellen des Triggers
Mithilfe einer DDL-Anweisung können Sie einen Trigger erstellen, der die SQL für Tabellenaktualisierungen protokolliert :
CREATE TRIGGER trigger_name ON table_name AFTER UPDATE AS BEGIN -- Declare a variable to store the executed SQL DECLARE @sql_text VARCHAR(MAX); -- Retrieve the executed SQL from the context_info() function SET @sql_text = CAST(EVENTDATA() AS NVARCHAR(MAX)); -- Insert the SQL text into a log table or perform other desired actions INSERT INTO log_table (sql_text) VALUES (@sql_text); END;
Zugriff auf die Ausgeführten SQL
Sobald der Trigger erstellt wurde, kann die Funktion EVENTDATA() innerhalb des Triggercodes verwendet werden, um das ausgeführte SQL zu erfassen. Die Funktion EVENTDATA() bietet Zugriff auf Informationen über das aktuelle Datenbankereignis, einschließlich des SQL-Textes, der es verursacht hat. Durch Extrahieren dieser Informationen können Sie die Quelle der Spaltenaktualisierungen identifizieren.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie kann ich die SQL-Anweisungen protokollieren, die eine bestimmte Tabelle in SQL Server 2008 ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!