Audit-Protokoll in Dataverse: Wachstum, Aufbewahrungsfrist und sicherer Abbau
Das Audit-Protokoll von Dataverse (in der deutschen Oberfläche „Überwachung“) zeigt, wer wann was geändert hat. Es belegt Protokoll-Kapazität, und Protokoll kann sich nur bei freier Datenbank-Kapazität etwas leihen. Microsoft schränkt ab dem 9. November 2026 Mandanten über dem Kontingent stufenweise ein (Fristen und Checkliste). Dieser Beitrag erklärt, warum das Protokoll wächst, welche Rolle die Aufbewahrungsfrist spielt und wie Sie es abbauen, ohne Nachweise zu verlieren.
Was im Protokoll-Speicher liegt
Microsoft zählt drei Dinge zur Protokoll-Kapazität: die Audit-Tabelle AuditBase, die Plug-in-Ablaufprotokolle in PlugInTraceLogBase und elastische Tabellen. Plug-in-Ablaufprotokolle entfernt ein täglicher Auftrag von Dataverse nach 24 Stunden; über Jahre wachsen können vor allem das Audit und elastische Tabellen. Steht die Protokollstufe für Plug-ins in der Produktion auf „All“, entstehen trotzdem laufend neue Einträge; Microsoft empfiehlt dort „Off“.
Warum das Audit wächst
- Jede Wertänderung an einer auditierten Spalte erzeugt einen Eintrag. Protokolliert werden Anlegen, Ändern und Löschen von Datensätzen, Freigaben, N:N-Verknüpfungen und Änderungen an Sicherheitsrollen. Ein Update erzeugt nur dann einen Eintrag, wenn sich der Wert tatsächlich ändert.
- Viele Tabellen auf einmal. Die Option „Common-Entitäten in Dynamics 365 Apps“ (Power Platform Admin Center › Sicherheit › Compliance › Überwachung) schaltet das Audit für 40 Standardtabellen ein, darunter Konto, Kontakt, Lead, Verkaufschance, Angebot, Auftrag, Rechnung und Fall.
- Integrationen und Automatisierungen. Schnittstellen, Flows und Plug-ins, die regelmäßig Felder setzen, erzeugen bei jeder Wertänderung einen Eintrag, ohne dass ein Mensch beteiligt ist, zum Beispiel ein nächtlicher Abgleich, der Status- oder Datumsfelder aus einem ERP-System überträgt.
- Zugriffsprotokollierung. Ist „Protokollzugriff“ eingeschaltet, protokolliert Dataverse die Anmeldungen der Benutzer. Die Spalte
useraccessauditingintervallegt den Abstand fest; Standard sind 4 Stunden. - Keine Löschfrist. Steht die Aufbewahrung auf „Für immer“, löscht Dataverse keinen Eintrag. Das Protokoll wächst dann mit jedem Betriebsmonat.
So messen Sie
- Gesamtmenge: Power Platform Admin Center › Lizenzierung › Dataverse › Umgebung › Verbrauch pro Tabelle, Speicherart Protokoll. Das Audit erscheint dort als eine Tabelle:
AuditBase. - Anteil je Tabelle: Die Web-API-Aktion
GetAuditStorageDetailsliefert die Audit-Größe je Tabelle; Microsoft beschreibt den Aufruf im Artikel „Recover database space by deleting audit logs“. Die Berechnung läuft asynchron: Kommt zunächst nur ein Status zurück, rufen Sie die Aktion später erneut auf. - Grobe Umrechnung: In unserer Entwicklungsumgebung belegte ein Audit-Eintrag rund 1.400 Byte Protokoll-Kapazität (gemessen an einer Tabelle mit 12.230 Einträgen). 1 GB entspricht damit grob 700.000 Einträgen. Ihr Wert hängt davon ab, wie viele Spalten je Änderung protokolliert werden.
Die Aufbewahrungsfrist: auditretentionperiodv2
Wie lange Dataverse Audit-Einträge behält, steht in der Spalte auditretentionperiodv2 der Tabelle organization, in Tagen. Der Wert -1 bedeutet „für immer“, jeder andere Wert ist die Frist in Tagen.
- Auslesen:
GET Organisations-URL/api/data/v9.2/organizations?$select=auditretentionperiodv2 - Einstellen: Power Platform Admin Center › Verwalten › Umgebungen › Umgebung › Einstellungen › Überwachung und Protokolle › Überwachungseinstellungen › „Diese Protokolle aufbewahren“. Alternativ: Sicherheit › Compliance › Kachel „Überwachung“.
Drei Eigenheiten der Frist:
- Jeder Eintrag erhält beim Anlegen die Frist, die in diesem Moment gilt. Eine Änderung in den Umgebungseinstellungen wirkt nur auf neue Einträge. Microsofts Beispiel: Wird die Frist von 30 auf 90 Tage verlängert, löscht Dataverse die älteren Einträge weiterhin nach 30 Tagen.
- Über Sicherheit › Compliance lässt sich die Frist auch auf vorhandene Einträge anwenden. Eine kürzere Frist gilt dann auch für die vorhandene Historie.
- Beim Standardwert ist Microsofts Dokumentation uneinheitlich. Die Seite für Administratoren nennt „Für immer“, die Seite für Entwickler 30 Tage. Lesen Sie den Wert Ihrer Umgebung aus, statt ihn anzunehmen.
Das Risiko einer zu kurzen Frist
Eine kurze Frist senkt den Protokoll-Speicher zuverlässig und löscht dabei laufend Historie. Dataverse entfernt jeden Eintrag, sobald er älter als die Frist ist, ohne Rückfrage und ohne Papierkorb. Microsoft schreibt dazu: Gelöschte Audit-Protokolle lassen sich nicht wiederherstellen.
Danach fehlt der Nachweis, wer einen Preis, eine Adresse oder eine Sicherheitsrolle geändert und wer einen Datensatz gelöscht hat. Solche Fragen stellen interne Revision, Wirtschaftsprüfung oder Kunden auch Jahre später.
Legen Sie die Frist deshalb mit Revision und Datenschutz fest. Maßstab ist der längste Zeitraum, über den Sie Änderungen nachweisen müssen, nicht der verfügbare Speicher. Wer archiviert, braucht eine zweite Regel: Die Frist in Dataverse muss länger sein als der Abstand bis zum Export. Sonst verschwinden Einträge, bevor sie im Archiv liegen.
Archiv statt Löschen
Microsoft empfiehlt in seinem Leitfaden zur Speicherverwaltung, Audit-Protokolle im eigenen Speicher aufzubewahren („Audit logs: Retain it in your own storage“). Diese Wege gibt es:
| Weg | Was er leistet | Grenzen |
|---|---|---|
| Langzeitaufbewahrung von Dataverse | hält inaktive Geschäftsdaten schreibgeschützt in Dataverse | nimmt keine Audit-Tabellen auf |
| Azure Synapse Link für Dataverse | repliziert die Audit-Tabelle in Ihren Azure-Speicher | nur mit dem Delta-Lake-Profil, das Neukunden ab 15. Oktober 2026 nicht mehr nutzen können (Bestandskunden bis Dezember 2027); Audit-Tabellen mit mehr als 100 Millionen Einträgen werden nicht synchronisiert; Synapse-Arbeitsbereich und Spark-Pool nötig; löscht nichts in Dataverse |
| Eigene Skripte über Web API oder SDK | Export nach Ihren Vorgaben; Microsoft verweist darauf, weil das Admin Center keinen Export anbietet | Vollständigkeit, sichere Löschung und Lesbarkeit liegen bei Ihnen |
| NXTGN Capacity Control | exportiert jeden abgeschlossenen Monat je Tabelle in Ihren Azure Blob Storage, weist jede Audit-ID im Archiv nach und entfernt erst danach, nach Ihrer Regel | Archiv heute nur in Azure Blob Storage |
Mit NXTGN Capacity Control bleiben archivierte Einträge in der App und im Verlauf des Datensatzes lesbar, auch nach Vertragsende. In unserer Testumgebung belegte 1 GB Audit im Archiv rund 0,17 GB.
In fünf Schritten sicher abbauen
- Messen. Protokoll-Verbrauch im Admin Center, Anteil je Tabelle über
GetAuditStorageDetails, dazu die eingestellte Frist. - Zufluss prüfen. Schalten Sie das Audit dort ab, wo niemand einen Nachweis braucht, etwa für technische Spalten, die eine Schnittstelle ständig neu schreibt (Power Apps › Tabellen › Tabelle › Spalten › Spalte › Erweiterte Optionen › „Überwachung aktivieren“). Klären Sie die Zugriffsprotokollierung mit Datenschutz und Betriebsrat.
- Frist festlegen. Gemeinsam mit Revision und Datenschutz. Wenn Sie archivieren: länger als der Abstand bis zum Export.
- Archivieren, prüfen, dann löschen. Exportieren Sie ältere Monate und prüfen Sie die Vollständigkeit. Erst danach löschen Sie in Dataverse, zum Beispiel im Admin Center unter Verwalten › Umgebungen › Umgebung › Überwachung › „Überwachungsprotokolle löschen“. Beachten Sie: „Nach Tabelle“ löscht alle Einträge der gewählten Tabellen, „Alle Protokolle bis einschließlich dem gewählten Datum“ die Einträge aller Tabellen bis zu diesem Tag. Microsoft nennt als Richtwert rund 100 Millionen gelöschte Einträge pro Tag; der Kapazitätsbericht zeigt die Wirkung nach bis zu 72 Stunden.
- Monatlich wiederholen. Jeden Monat kommt ein neuer Monat hinzu. Ein fester Rhythmus hält das Protokoll klein. NXTGN Capacity Control erledigt diese Arbeit nach Ihrer Regel.
Quellen
- Microsoft Learn: Dataverse-Prüfungen verwalten (öffnet in neuem Tab): Aufbewahrung, Löschoptionen, Richtwert 100 Millionen Einträge pro Tag
- Microsoft Learn: Configure auditing (öffnet in neuem Tab):
auditretentionperiodv2,useraccessauditinginterval - Microsoft Learn: Recover database space by deleting audit logs (öffnet in neuem Tab):
GetAuditStorageDetails, gelöschte Protokolle nicht wiederherstellbar - Microsoft Learn: Dataverse capacity-based storage details (öffnet in neuem Tab): Tabellen der Protokoll-Kapazität, Verrechnung zwischen Speicherarten
- Microsoft Learn: Tracing and logging (öffnet in neuem Tab) und Delete completed system jobs and process log (öffnet in neuem Tab): Plug-in-Ablaufprotokolle nach 24 Stunden, Empfehlung „Aus“ in der Produktion
- Microsoft Learn: Storage management in Dataverse and finance and operations apps (öffnet in neuem Tab): „Audit logs: Retain it in your own storage“
- Microsoft Learn: Dataverse long term data retention overview (öffnet in neuem Tab): Audit-Tabellen nicht unterstützt
- Microsoft Learn: Azure Synapse Link for Dataverse FAQ (öffnet in neuem Tab), Export Dataverse data in Delta Lake format (öffnet in neuem Tab) und Access audit data using Azure Synapse Link (öffnet in neuem Tab)
- NXTGN-Messwerte aus unserer Entwicklungsumgebung (04.10.2026)