Bewaarbeleid voor gegevens in- en uitschakelen
Belangrijk
Azure SQL Edge wordt op 30 september 2025 buiten gebruik gesteld. Zie de kennisgeving buitengebruikstelling voor meer informatie en migratieopties.
Notitie
Azure SQL Edge biedt geen ondersteuning meer voor het ARM64-platform.
In dit artikel wordt beschreven hoe u bewaarbeleid voor gegevens voor een database en een tabel inschakelt en uitschakelt.
Gegevensretentie inschakelen voor een database
In het volgende voorbeeld ziet u hoe u gegevensretentie kunt inschakelen met ALTER DATABASE.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;
Controleren of gegevensretentie is ingeschakeld voor een database
De volgende opdracht kan worden gebruikt om te controleren of gegevensretentie is ingeschakeld voor een database.
SELECT is_data_retention_enabled,
name
FROM sys.databases;
Gegevensretentie inschakelen voor een tabel
Gegevensretentie moet zijn ingeschakeld voor elke tabel waarvoor u wilt dat gegevens automatisch worden opgeschoond. Wanneer gegevensretentie is ingeschakeld voor de database en de tabel, scant een achtergrondsysteemtaak de tabel periodiek om verouderde (verouderde) rijen te identificeren en te verwijderen. Gegevensretentie kan worden ingeschakeld voor een tabel tijdens het maken van een tabel met CREATE TABLE of met ALTER TABLE.
In het volgende voorbeeld ziet u hoe u gegevensretentie voor een tabel inschakelt met behulp van 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
)
);
Met WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day))
het onderdeel van de opdracht CREATE TABLE stelt u de gegevensretentie in de tabel in. De opdracht maakt gebruik van de volgende vereiste parameters:
DATA_DELETION: Geeft aan of gegevensretentie is ingeschakeld of uit.
FILTER_COLUMN: Naam in de kolom in de tabel, die wordt gebruikt om na te gaan of de rijen verouderd zijn of niet. De filterkolom kan alleen een kolom met de volgende gegevenstypen zijn:
- datum
- smalldatetime
- datum/tijd
- datetime2
- datetimeoffset
RETENTION_PERIOD: Een geheel getal, gevolgd door een eenheidsdescriptor. De toegestane eenheden zijn DAG, DAGEN, WEEK, WEKEN, MAAND, MAANDEN, JAAR en JAREN.
In het volgende voorbeeld ziet u hoe u gegevensretentie voor een tabel inschakelt met behulp van ALTER TABLE.
ALTER TABLE [dbo].[data_retention_table]
SET (
DATA_DELETION = ON (
FILTER_COLUMN = [timestamp],
RETENTION_PERIOD = 1 day
)
)
Controleren of gegevensretentie is ingeschakeld voor een tabel
De volgende opdracht kan worden gebruikt om de tabellen te controleren waarvoor gegevensretentie is ingeschakeld
SELECT name,
data_retention_period,
data_retention_period_unit
FROM sys.tables;
Een waarde van data_retention_period = -1
en data_retention_period_unit
als INFINITE geeft aan dat gegevensretentie niet is ingesteld in de tabel.
De volgende query kan worden gebruikt om de kolom te identificeren die wordt gebruikt als de filter_column
kolom voor gegevensretentie.
SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
AND object_id = object_id(N'dbo.data_retention_table', N'U');
Instellingen voor het bewaren van database- en tabelgegevens correleren
De instelling voor het bewaren van gegevens in de database en de tabel worden samen gebruikt om te bepalen of automatisch opslokken voor verouderde rijen in de tabellen wordt uitgevoerd.
Databaseoptie | Tabeloptie | Gedrag |
---|---|---|
UIT | UIT | Het bewaarbeleid voor gegevens is uitgeschakeld en zowel automatisch als handmatig opschonen van verouderde records is uitgeschakeld. |
UIT | AAN | Beleid voor gegevensretentie is ingeschakeld voor de tabel. Automatisch opschonen van verouderde records is uitgeschakeld, maar handmatige opschoonmethode kan worden gebruikt om verouderde records op te schonen. |
AAN | UIT | Beleid voor gegevensretentie is ingeschakeld op databaseniveau. Omdat de optie echter is uitgeschakeld op tabelniveau, is er geen op retentie gebaseerde opschoonbewerking van verouderde rijen. |
AAN | AAN | Beleid voor gegevensretentie is ingeschakeld voor zowel de database als de tabellen. Automatisch opschonen van verouderde records is ingeschakeld. |
Gegevensretentie in een tabel uitschakelen
Gegevensretentie kan worden uitgeschakeld in een tabel met ALTER TABLE. De volgende opdracht kan worden gebruikt om gegevensretentie in een tabel uit te schakelen.
ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);
Gegevensretentie op een database uitschakelen
Gegevensretentie kan worden uitgeschakeld in een tabel met behulp van ALTER DATABASE. De volgende opdracht kan worden gebruikt om gegevensretentie in een database uit te schakelen.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;