Aktivera och inaktivera principer för datakvarhållning
Viktigt!
Azure SQL Edge dras tillbaka den 30 september 2025. Mer information och migreringsalternativ finns i meddelandet Om pensionering.
Kommentar
Azure SQL Edge stöder inte längre ARM64-plattformen.
Den här artikeln beskriver hur du aktiverar och inaktiverar principer för datakvarhållning för en databas och en tabell.
Aktivera datakvarhållning för en databas
I följande exempel visas hur du aktiverar datakvarhållning med hjälp av ALTER DATABASE.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;
Kontrollera om datakvarhållning är aktiverat för en databas
Följande kommando kan användas för att kontrollera om datakvarhållning är aktiverat för en databas.
SELECT is_data_retention_enabled,
name
FROM sys.databases;
Aktivera datakvarhållning för en tabell
Datakvarhållning måste aktiveras för varje tabell som du vill att data ska rensas automatiskt för. När datakvarhållning är aktiverat i databasen och tabellen genomsöker en bakgrundssystemuppgift regelbundet tabellen för att identifiera och ta bort eventuella föråldrade (föråldrade) rader. Datakvarhållning kan aktiveras i en tabell antingen när tabellen skapas med hjälp av CREATE TABLE eller med hjälp av ALTER TABLE.
I följande exempel visas hur du aktiverar datakvarhållning för en tabell med hjälp av CREATE TABLE.
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
)
);
Delen WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day))
av kommandot CREATE TABLE anger datakvarhållningen i tabellen. Kommandot använder följande obligatoriska parametrar:
DATA_DELETION: Anger om datakvarhållning är PÅ eller AV.
FILTER_COLUMN: Namn på kolumnen i tabellen, som används för att kontrollera om raderna är föråldrade eller inte. Filterkolumnen kan bara vara en kolumn med följande datatyper:
- datum
- smalldatetime
- datetime
- datetime2
- datetimeoffset
RETENTION_PERIOD: Ett heltalsvärde följt av en enhetsbeskrivning. De tillåtna enheterna är DAG, DAGAR, VECKA, VECKOR, MÅNAD, MÅNADER, ÅR OCH ÅR.
I följande exempel visas hur du aktiverar datakvarhållning för tabellen med hjälp av ALTER TABLE.
ALTER TABLE [dbo].[data_retention_table]
SET (
DATA_DELETION = ON (
FILTER_COLUMN = [timestamp],
RETENTION_PERIOD = 1 day
)
)
Kontrollera om datakvarhållning är aktiverat för en tabell
Följande kommando kan användas för att kontrollera vilka tabeller som datakvarhållning är aktiverat för
SELECT name,
data_retention_period,
data_retention_period_unit
FROM sys.tables;
Ett värde för data_retention_period = -1
och data_retention_period_unit
som OÄNDLIGt anger att datakvarhållning inte har angetts i tabellen.
Följande fråga kan användas för att identifiera kolumnen som används för filter_column
datakvarhållning.
SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
AND object_id = object_id(N'dbo.data_retention_table', N'U');
Korrelera inställningar för databas- och tabelldatakvarhållning
Inställningen för datakvarhållning i databasen och tabellen används tillsammans för att avgöra om autocleanup för föråldrade rader körs i tabellerna.
Databasalternativ | Tabellalternativ | Funktionssätt |
---|---|---|
OFF | OFF | Datakvarhållningsprincipen är inaktiverad och både automatisk och manuell rensning av föråldrade poster inaktiveras. |
OFF | ON | Datakvarhållningsprincipen är aktiverad för tabellen. Automatisk rensning av föråldrade poster är inaktiverat, men manuell rensningsmetod kan användas för att rensa föråldrade poster. |
ON | OFF | Datakvarhållningsprincipen är aktiverad på databasnivå. Men eftersom alternativet är inaktiverat på tabellnivå finns det ingen kvarhållningsbaserad rensning av föråldrade rader. |
ON | ON | Datakvarhållningsprincipen är aktiverad för både databasen och tabellerna. Automatisk rensning av föråldrade poster är aktiverat. |
Inaktivera datakvarhållning i en tabell
Datakvarhållning kan inaktiveras i en tabell med hjälp av ALTER TABLE. Följande kommando kan användas för att inaktivera datakvarhållning i en tabell.
ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);
Inaktivera datakvarhållning på en databas
Datakvarhållning kan inaktiveras i en tabell med hjälp av ALTER DATABASE. Följande kommando kan användas för att inaktivera datakvarhållning i en databas.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;