Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

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 AuditSession
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM CredentialObject_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM CustomField_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM AccessRow_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM ApprovalRow_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM ClientAuthorization_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM CredObjAction_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM CredentialObjectVisibility_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM ErrorLog_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM FileAttachment_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM Notification_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM ProxySessionRecord_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM Request_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM RequireComment_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM Setting_AUD
WHERE "RecordCreatedAt" < date('now', '-6 month');
DELETE FROM SysLog_AUD
WHERE "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].AuditSession
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].CredentialObject_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].CustomField_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].AccessRow_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].ApprovalRow_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].ClientAuthorization_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].CredObjAction_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].CredentialObjectVisibility_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].ErrorLog_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].FileAttachment_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].Notification_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].ProxySessionRecord_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].Request_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].RequireComment_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].Setting_AUD
WHERE "RecordCreatedAt" < DateAdd(MONTH, -6, convert(varchar, getdate(), 1));
DELETE FROM [PPassDatabase].[dbo].SysLog_AUD
WHERE "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;