Activer et désactiver des stratégies de rétention de données

Important

Azure SQL Edge ne prend plus en charge la plateforme ARM64.

Cet article explique comment activer et désactiver des stratégies de rétention 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 rétention des données à l’aide de 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 case activée si la rétention 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 rétention 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 rétention des données peut être activée sur une table lors de la création d’une table à l’aide de CREATE TABLE ou à l’aide de ALTER TABLE.

L’exemple suivant montre comment activer la rétention des données pour une table à l’aide de 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 WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day)) partie de la commande CREATE TABLE définit la rétention des données sur la table. La commande utilise les paramètres requis suivants :

  • DATA_DELETION : indique si la rétention des données est activée ou désactivée.

  • FILTER_COLUMN : Nom de 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 entière 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 rétention des données pour la table à l’aide de 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 et data_retention_period_unit en tant qu’INFINITE data_retention_period = -1 indique que la rétention des données n’est pas définie sur la table.

La requête suivante peut être utilisée pour identifier la colonne utilisée pour la filter_column rétention 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');

Mettre en corrélation les paramètres de rétention des données de base de données et de table

Le paramètre de rétention des données sur la base de données et la table sont utilisés conjointement pour déterminer si l’option auto propre up pour les anciennes lignes s’exécute sur les tables.

Option de base de données Option de table Comportement
OFF OFF La stratégie de rétention des données est désactivée et les propre manuelles et automatiques des enregistrements anciens sont désactivées.
OFF ACTIVÉ La stratégie de rétention des données est activée pour la table. La propre up automatique des enregistrements obsolètes est désactivée, mais la méthode de propre up manuelle peut être utilisée pour propre des enregistrements obsolètes.
ACTIVÉ OFF La stratégie de rétention 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 aucune propre up basée sur la rétention des lignes anciennes.
ACTIVÉ ACTIVÉ La stratégie de rétention 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 rétention des données peut être désactivée sur une table à l’aide de 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 rétention des données peut être désactivée sur une table à l’aide de 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;

Étapes suivantes