Datenbanklogs löschen
Über folgenen Skripts können die Datenbanklogs gelöscht werden.
Datenbanklogs vs. Datenschutz
Der Grund für das Löschen der Datenbanklogs sind meist Bedenken bzgl. des Datenschutzes. Oftmals wird das Löschen durch Datenschutzbeauftragte imitiert.
Dennoch raten wir vom Löschen der Logs ausdrücklich ab. Die Logs dienen ja dazu die Zugriffe auf Daten welche wiederum den Zugang zu personenbezogenen Daten zu protokollieren. Dies rechtfertigt eine längere Speicherung. In der Regel kann man dies den Datenschutzbeauftragten auch so vermitteln.
Löschen der Logs
Das Beispiel löscht alle entsprechenden Einträge die älter als Monate sind. Sofern Sie einen anderen Zeitraum möchten, so passen Sie dies bitte nach Ihren Anforderungen an.
Bitte beachten Sie, dass die Verwendung der folgenden Skripte auf eigene Gefahr und Verantwortung geschieht. Erstellen Sie vor der Anwendung unebdingt ein Backup.
SQLite Datenbank
PRAGMA foreign_keys = OFF;DELETE FROM [AuditEvent]WHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM AuditSessionWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM CredentialObject_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM CustomField_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM AccessRow_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM ApprovalRow_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM ClientAuthorization_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM CredObjAction_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM CredentialObjectVisibility_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM ErrorLog_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM FileAttachment_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM Notification_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM ProxySessionRecord_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM Request_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM RequireComment_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM Setting_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');DELETE FROM SysLog_AUDWHERE "RecordCreatedAt" < date('now', '-6 month');PRAGMA foreign_keys = ON;
MSSQL Datenbank
EXEC sp_MSForEachTable "ALTER TABLE ? NOCHECK CONSTRAINT all"DELETE FROM [PPassDatabase].[dbo].[AuditEvent]WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].AuditSessionWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].CredentialObject_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].CustomField_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].AccessRow_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].ApprovalRow_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].ClientAuthorization_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].CredObjAction_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].CredentialObjectVisibility_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].ErrorLog_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].FileAttachment_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].Notification_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].ProxySessionRecord_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].Request_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].RequireComment_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].Setting_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));DELETE FROM [PPassDatabase].[dbo].SysLog_AUDWHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));exec sp_MSForEachTable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
PostgreSQL Datenbank
ALTER TABLE public."AuditEvent" DISABLE TRIGGER ALL;DELETE FROM public."AuditEvent"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."AuditEvent" ENABLE TRIGGER ALL;ALTER TABLE public."AuditSession" DISABLE TRIGGER ALL;DELETE FROM public."AuditSession"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."AuditSession" DISABLE TRIGGER ALL;ALTER TABLE public."CredentialObject_AUD" DISABLE TRIGGER ALL;DELETE FROM public."CredentialObject_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."CredentialObject_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."CustomField_AUD" DISABLE TRIGGER ALL;DELETE FROM public."CustomField_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."CustomField_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."AccessRow_AUD" DISABLE TRIGGER ALL;DELETE FROM public."AccessRow_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."AccessRow_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."ApprovalRow_AUD" DISABLE TRIGGER ALL;DELETE FROM public."ApprovalRow_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."ApprovalRow_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."ClientAuthorization_AUD" DISABLE TRIGGER ALL;DELETE FROM public."ClientAuthorization_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."ClientAuthorization_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."CredObjAction_AUD" DISABLE TRIGGER ALL;DELETE FROM public."CredObjAction_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."CredObjAction_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."CredentialObjectVisibility_AUD" DISABLE TRIGGER ALL;DELETE FROM public."CredentialObjectVisibility_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."CredentialObjectVisibility_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."ErrorLog_AUD" DISABLE TRIGGER ALL;DELETE FROM public."ErrorLog_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."ErrorLog_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."FileAttachment_AUD" DISABLE TRIGGER ALL;DELETE FROM public."FileAttachment_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."FileAttachment_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."Notification_AUD" DISABLE TRIGGER ALL;DELETE FROM public."Notification_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."Notification_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."ProxySessionRecord_AUD" DISABLE TRIGGER ALL;DELETE FROM public."ProxySessionRecord_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."ProxySessionRecord_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."Request_AUD" DISABLE TRIGGER ALL;DELETE FROM public."Request_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."Request_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."RequireComment_AUD" DISABLE TRIGGER ALL;DELETE FROM public."RequireComment_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."RequireComment_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."Setting_AUD" DISABLE TRIGGER ALL;DELETE FROM public."Setting_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."Setting_AUD" DISABLE TRIGGER ALL;ALTER TABLE public."SysLog_AUD" DISABLE TRIGGER ALL;DELETE FROM public."SysLog_AUD"WHERE "RecordCreatedAt" < date(now() - Interval '6 month');ALTER TABLE public."SysLog_AUD" DISABLE TRIGGER ALL;