Aktivieren und Deaktivieren von Datenaufbewahrungsrichtlinien

Wichtig

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

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

Aktivieren von Datenaufbewahrung für eine Datenbank

Das folgende Beispiel zeigt, wie Sie die Datenaufbewahrung mithilfe von ALTER DATABASE aktivieren.

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 die 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 die Datenaufbewahrung in der Datenbank und in der Tabelle aktiviert ist, überprüft eine Hintergrundsystemaufgabe die Tabelle regelmäßig, um veraltete (alter) Zeilen zu identifizieren und zu löschen. Die Datenaufbewahrung kann für eine Tabelle entweder während der Tabellenerstellung mithilfe von CREATE TABLE oder mithilfe von ALTER TABLE aktiviert werden.

Das folgende Beispiel zeigt, wie Sie die Datenaufbewahrung für eine Tabelle mithilfe von CREATE TABLE aktivieren.

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
            )
        );

Der WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day)) Teil des Befehls CREATE TABLE legt die Datenaufbewahrung in der Tabelle fest. Der Befehl verwendet die folgenden erforderlichen Parameter:

  • DATA_DELETION: Gibt an, ob die Datenaufbewahrung ein- oder AUSGESCHALTET ist.

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

    • 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.

Das folgende Beispiel zeigt, wie Sie die Datenaufbewahrung für die Tabelle mithilfe von ALTER TABLE aktivieren.

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 die Datenaufbewahrung nicht für die Tabelle festgelegt ist.

Die folgende Abfrage kann verwendet werden, um die Spalte zu identifizieren, die für die filter_column 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 Datenbank- und Tabellendatenaufbewahrungseinstellungen

Die Datenaufbewahrungseinstellung für die Datenbank und die Tabelle werden zusammen verwendet, um festzustellen, ob auto sauber up für älteren Zeilen in den Tabellen ausgeführt wird.

Datenbankoption Tabellenoption Verhalten
OFF OFF Die Datenaufbewahrungsrichtlinie ist deaktiviert, und sowohl die automatische als auch die manuelle sauber up von älteren Datensätzen ist deaktiviert.
OFF ON Die Datenaufbewahrungsrichtlinie ist für die Tabelle aktiviert. Die automatische sauber up veralteter Datensätze ist deaktiviert, manuelle sauber up-Methode kann jedoch verwendet werden, um veraltete Datensätze zu sauber.
ON OFF Die Datenaufbewahrungsrichtlinie ist auf Datenbankebene aktiviert. Da die Option jedoch auf Tabellenebene deaktiviert ist, gibt es keine aufbewahrungsbasierte sauber up von gealterten Zeilen.
ON ON Die Datenaufbewahrungsrichtlinie ist sowohl für die Datenbank als auch für Tabellen aktiviert. Die automatische Bereinigung veralteter Datensätze ist aktiviert.

Deaktivieren der Datenaufbewahrung für eine Tabelle

Die Datenaufbewahrung kann in einer Tabelle mithilfe von 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

Die Datenaufbewahrung kann in einer Tabelle mithilfe von 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;

Nächste Schritte