Activer et désactiver des stratégies de rétention de données
Important
Azure SQL Edge sera mis hors service le 30 septembre 2025. Pour en savoir plus et connaître les options de migration, consultez l’Annonce de la mise hors service.
Remarque
Azure SQL Edge ne prend plus en charge la plateforme ARM64.
Cet article explique comment activer et désactiver des stratégies de conservation des données pour une base de données et une table.
Activer la rétention de données pour une base de données
L’exemple suivant montre comment activer la conservation des données en utilisant la commande ALTER DATABASE.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;
Vérifier si la rétention de données est activée pour une base de données
La commande suivante peut être utilisée pour vérifier si la conservation des données est activée pour une base de données.
SELECT is_data_retention_enabled,
name
FROM sys.databases;
Activer la rétention de données pour une table
La rétention de données doit être activée pour chaque table dont vous souhaitez que les données soient purgées automatiquement. Lorsque la conservation des données est activée sur la base de données et la table, une tâche système en arrière-plan analyse régulièrement la table pour identifier et supprimer toutes les lignes obsolètes (anciennes). La conservation des données peut être activée sur une table lors de sa création en utilisant la commande CREATE TABLE ou la commande ALTER TABLE.
L’exemple suivant montre comment activer la conservation des données pour une table en utilisant 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
)
);
La partie WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day))
de la commande CREATE TABLE définit la conservation des données sur la table. La commande utilise les paramètres obligatoires suivants :
DATA_DELETION : indique si la conservation des données est activée (ON) ou désactivée (OFF).
FILTER_COLUMN : nom sur la colonne de la table, qui sera utilisé pour déterminer si les lignes sont obsolètes ou non. La colonne de filtre ne peut être qu’une colonne avec les types de données suivants :
- date
- smalldatetime
- datetime
- datetime2
- datetimeoffset
RETENTION_PERIOD : valeur d’entier suivie d’un descripteur d’unité. Les unités autorisées sont DAY, DAYS, WEEK, WEEKS, MONTH, MONTHS, YEAR et YEARS.
L’exemple suivant montre comment activer la conservation des données pour une table en utilisant la commande ALTER TABLE.
ALTER TABLE [dbo].[data_retention_table]
SET (
DATA_DELETION = ON (
FILTER_COLUMN = [timestamp],
RETENTION_PERIOD = 1 day
)
)
Vérifier si la rétention de données est activée pour une table
La commande suivante peut être utilisée pour vérifier les tables pour lesquelles la rétention de données est activée
SELECT name,
data_retention_period,
data_retention_period_unit
FROM sys.tables;
Une valeur data_retention_period = -1
et data_retention_period_unit
comme INFINITE indique que la conservation des données n’est pas définie sur la table.
La requête suivante permet d’identifier la colonne utilisée en tant que filter_column
pour la conservation des données.
SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
AND object_id = object_id(N'dbo.data_retention_table', N'U');
Corrélation des paramètres de conservation des données de base de données et de table
Les paramètres de conservation des données définis sur la base de données et la table sont utilisés conjointement pour déterminer si le nettoyage automatique des lignes anciennes s’exécute sur les tables.
Option de base de données | Option de table | Comportement |
---|---|---|
OFF | OFF | La stratégie de conservation des données est désactivée, ainsi que le nettoyage automatique et manuel des enregistrements anciens. |
OFF | ACTIVÉ | La stratégie de conservation des données est activée pour la table. Le nettoyage automatique des enregistrements obsolètes est désactivé, mais vous pouvez utiliser une méthode manuelle pour nettoyer les enregistrements obsolètes. |
ACTIVÉ | OFF | La stratégie de conservation des données est activée au niveau de la base de données. Toutefois, étant donné que l’option est désactivée au niveau de la table, il n’existe aucun nettoyage de lignes anciennes basé sur la conservation. |
ACTIVÉ | ACTIVÉ | La stratégie de conservation des données est activée pour la base de données et les tables. Le nettoyage automatique des enregistrements obsolètes est activé. |
Désactiver la rétention de données sur une table
La conservation des données peut être désactivée sur une table à l’aide de la commande ALTER TABLE. La commande suivante peut être utilisée pour désactiver la rétention de données sur une table.
ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);
Désactiver la rétention de données sur une base de données
La conservation des données peut être désactivée sur une table à l’aide de la commande ALTER DATABASE. La commande suivante permet de désactiver la rétention de données sur une base de données.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;