Freigeben über


Aktivieren und Deaktivieren von Datenaufbewahrungsrichtlinien

Wichtig

Azure SQL Edge wird am 30. September 2025 eingestellt. Weitere Informationen und Migrationsoptionen finden Sie im Einstellungshinweis.

Hinweis

Azure SQL Edge unterstützt die ARM64-Plattform nicht mehr.

In diesem Artikel ist beschrieben, wie Datenaufbewahrungsrichtlinien für eine Datenbank und eine Tabelle aktiviert und deaktiviert werden.

Aktivieren von Datenaufbewahrung für eine Datenbank

Im folgenden Beispiel wird gezeigt, wie Datenaufbewahrung über ALTER DATABASE aktiviert werden kann.

ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;

Überprüfen, ob Datenaufbewahrung für eine Datenbank aktiviert ist

Der folgende Befehl kann verwendet werden, um zu überprüfen, ob Datenaufbewahrung für eine Datenbank aktiviert ist.

SELECT is_data_retention_enabled,
    name
FROM sys.databases;

Aktivieren von Datenaufbewahrung für eine Tabelle

Datenaufbewahrung muss für jede Tabelle aktiviert werden, für die Daten automatisch bereinigt werden sollen. Wenn Datenaufbewahrung für die Datenbank und die Tabelle aktiviert ist, wird die Tabelle regelmäßig von einer Hintergrundsystemaufgabe überprüft, um veraltete Zeilen zu erkennen und zu löschen. Datenaufbewahrung kann für eine Tabelle während der Tabellenerstellung mit CREATE TABLE oder später mit ALTER TABLE aktiviert werden.

Im folgenden Beispiel wird gezeigt, wie Datenaufbewahrung für eine Tabelle über CREATE TABLE aktiviert werden kann.

CREATE TABLE [dbo].[data_retention_table] (
    [dbdatetime2] DATETIME2(7),
    [product_code] INT,
    [value] CHAR(10),
    CONSTRAINT [pk_current_data_retention_table] PRIMARY KEY CLUSTERED ([product_code])
)
WITH (
        DATA_DELETION = ON (
            FILTER_COLUMN = [dbdatetime2],
            RETENTION_PERIOD = 1 day
            )
        );

Datenaufbewahrung wird für die Tabelle im WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day))-Teil des CREATE TABLE-Befehls festgelegt. Für den Befehl werden die folgenden erforderlichen Parameter verwendet:

  • DATA_DELETION: kennzeichnet, ob Datenaufbewahrung aktiviert (ON) oder deaktiviert (OFF) ist.

  • FILTER_COLUMN: der Name der Spalte in der Tabelle, die verwendet wird, um zu ermitteln, ob die Zeilen veraltet sind oder nicht. Die Filterspalte kann nur eine Spalte sein, die einen der folgenden Datentypen hat:

    • date
    • smalldatetime
    • datetime
    • datetime2
    • datetimeoffset
  • RETENTION_PERIOD: ein ganzzahliger Wert, gefolgt von einem Einheitendeskriptor. Die zulässigen Einheiten sind DAY, DAYS, WEEK, WEEKS, MONTH, MONTHS, YEAR und YEARS.

Im folgenden Beispiel wird gezeigt, wie Datenaufbewahrung für eine Tabelle über ALTER TABLE aktiviert werden kann.

ALTER TABLE [dbo].[data_retention_table]
SET (
    DATA_DELETION = ON (
        FILTER_COLUMN = [timestamp],
        RETENTION_PERIOD = 1 day
    )
)

Überprüfen, ob Datenaufbewahrung für eine Tabelle aktiviert ist

Der folgende Befehl kann verwendet werden, um die Tabellen zu überprüfen, für die Datenaufbewahrung aktiviert ist.

SELECT name,
    data_retention_period,
    data_retention_period_unit
FROM sys.tables;

Ein Wert von data_retention_period = -1 und data_retention_period_unit als INFINITE gibt an, dass keine Datenaufbewahrung für die Tabelle festgelegt ist.

Die folgende Abfrage kann verwendet werden, um die Spalte zu ermitteln, die als filter_column für die Datenaufbewahrung verwendet wird.

SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
    AND object_id = object_id(N'dbo.data_retention_table', N'U');

Korrelieren von Aufbewahrungseinstellungen für Datenbank- und Tabellendaten

Die Datenaufbewahrungseinstellungen für die Datenbank und die Tabellen werden zusammen verwendet, um zu bestimmen, ob die automatische Bereinigung für veraltete Zeilen für die Tabellen ausgeführt wird.

Datenbankoption Tabellenoption Behavior
OFF OFF Die Datenaufbewahrungsrichtlinie ist deaktiviert, und sowohl die automatische als auch die manuelle Bereinigung veralteter Datensätze sind deaktiviert.
OFF ON Die Datenaufbewahrungsrichtlinie ist für die Tabelle aktiviert. Die automatische Bereinigung veralteter Datensätze ist deaktiviert, es kann jedoch eine manuelle Bereinigung ausgeführt werden, um veraltete Datensätze zu bereinigen.
ON OFF Die Datenaufbewahrungsrichtlinie ist auf Datenbankebene aktiviert. Da die Option auf Tabellenebene jedoch deaktiviert ist, gibt es keine aufbewahrungsbasierte Bereinigung veralteter Zeilen.
ON ON Die Datenaufbewahrungsrichtlinie ist sowohl für die Datenbank als auch die Tabellen aktiviert. Die automatische Bereinigung veralteter Datensätze ist aktiviert.

Deaktivieren der Datenaufbewahrung für eine Tabelle

Datenaufbewahrung kann für eine Tabelle über ALTER TABLE deaktiviert werden. Der folgende Befehl kann verwendet werden, um die Datenaufbewahrung für eine Tabelle zu deaktivieren.

ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);

Deaktivieren der Datenaufbewahrung für eine Datenbank

Datenaufbewahrung kann für eine Datenbank über ALTER DATABASE deaktiviert werden. Der folgende Befehl kann verwendet werden, um die Datenaufbewahrung für eine Datenbank zu deaktivieren.

ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;