Audit-Protokoll in Dataverse: Wachstum, Aufbewahrungsfrist und sicherer Abbau

Von Tobias LehmeierVeröffentlicht am Stand der Fakten:

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

  1. 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.
  2. 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.
  3. 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.
  4. Zugriffsprotokollierung. Ist „Protokollzugriff“ eingeschaltet, protokolliert Dataverse die Anmeldungen der Benutzer. Die Spalte useraccessauditinginterval legt den Abstand fest; Standard sind 4 Stunden.
  5. 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 GetAuditStorageDetails liefert 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:

  1. 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.
  2. Ü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.
  3. 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:

Wege, Audit-Protokolle aufzubewahren
WegWas er leistetGrenzen
Langzeitaufbewahrung von Dataversehält inaktive Geschäftsdaten schreibgeschützt in Dataversenimmt keine Audit-Tabellen auf
Azure Synapse Link für Dataverserepliziert die Audit-Tabelle in Ihren Azure-Speichernur 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 SDKExport nach Ihren Vorgaben; Microsoft verweist darauf, weil das Admin Center keinen Export anbietetVollständigkeit, sichere Löschung und Lesbarkeit liegen bei Ihnen
NXTGN Capacity Controlexportiert jeden abgeschlossenen Monat je Tabelle in Ihren Azure Blob Storage, weist jede Audit-ID im Archiv nach und entfernt erst danach, nach Ihrer RegelArchiv 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

  1. Messen. Protokoll-Verbrauch im Admin Center, Anteil je Tabelle über GetAuditStorageDetails, dazu die eingestellte Frist.
  2. 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.
  3. Frist festlegen. Gemeinsam mit Revision und Datenschutz. Wenn Sie archivieren: länger als der Abstand bis zum Export.
  4. 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.
  5. 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