Abilitare e disabilitare i criteri di conservazione dei dati

Importante

SQL Edge di Azure non supporta più la piattaforma ARM64.

Questo articolo descrive come abilitare e disabilitare i criteri di conservazione dei dati per un database e una tabella.

Abilitare la conservazione dei dati per un database

Nell'esempio seguente viene illustrato come abilitare la conservazione dei dati usando ALTER DATABA edizione Standard.

ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;

Controllare se la conservazione dei dati è abilitata per un database

Il comando seguente può essere usato per verificare se la conservazione dei dati è abilitata per un database.

SELECT is_data_retention_enabled,
    name
FROM sys.databases;

Abilitare la conservazione dei dati per una tabella

La conservazione dei dati deve essere abilitata per ogni tabella per cui si desidera eliminare automaticamente i dati. Quando la conservazione dei dati è abilitata nel database e nella tabella, un'attività di sistema in background analizza periodicamente la tabella per identificare ed eliminare eventuali righe obsolete (obsolete). La conservazione dei dati può essere abilitata in una tabella durante la creazione di tabelle usando CREATE TABLE o ALTER TABLE.

Nell'esempio seguente viene illustrato come abilitare la conservazione dei dati per una tabella usando 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)) parte del comando CREATE TABLE imposta la conservazione dei dati nella tabella. Il comando usa i parametri obbligatori seguenti:

  • DATA_DELETION: indica se la conservazione dei dati è attivata o disattivata.

  • FILTER_COLUMN: nome nella colonna della tabella, che verrà usato per verificare se le righe sono obsolete o meno. La colonna di filtro può essere solo una colonna con i tipi di dati seguenti:

    • date
    • smalldatetime
    • datetime
    • datetime2
    • datetimeoffset
  • RETENTION_PERIOD: valore intero seguito da un descrittore di unità. Le unità consentite sono DAY, DAYS, W edizione Enterprise K, W edizione Enterprise KS, MONTH, MONTHS, YEAR e YEARS.

Nell'esempio seguente viene illustrato come abilitare la conservazione dei dati per la tabella tramite ALTER TABLE.

ALTER TABLE [dbo].[data_retention_table]
SET (
    DATA_DELETION = ON (
        FILTER_COLUMN = [timestamp],
        RETENTION_PERIOD = 1 day
    )
)

Controllare se la conservazione dei dati è abilitata per una tabella

Il comando seguente può essere usato per controllare le tabelle per cui è abilitata la conservazione dei dati

SELECT name,
    data_retention_period,
    data_retention_period_unit
FROM sys.tables;

Un valore di data_retention_period = -1 e data_retention_period_unit come INFINITE indica che la conservazione dei dati non è impostata nella tabella.

La query seguente può essere usata per identificare la colonna usata come filter_column per la conservazione dei dati.

SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
    AND object_id = object_id(N'dbo.data_retention_table', N'U');

Correlare le impostazioni di conservazione dei dati di database e tabelle

L'impostazione di conservazione dei dati nel database e la tabella vengono utilizzate insieme per determinare se la pulizia automatica per le righe obsoleti viene eseguita nelle tabelle.

Opzione di database Opzione tabella Comportamento
OFF OFF I criteri di conservazione dei dati sono disabilitati e la pulizia automatica e manuale dei record obsoleti è disabilitata.
OFF In... I criteri di conservazione dei dati sono abilitati per la tabella. La pulizia automatica dei record obsoleti è disabilitata, ma è possibile usare il metodo di pulizia manuale per pulire i record obsoleti.
In... OFF I criteri di conservazione dei dati sono abilitati a livello di database. Tuttavia, poiché l'opzione è disabilitata a livello di tabella, non esiste alcuna pulizia basata sulla conservazione delle righe obsoleti.
In... In... I criteri di conservazione dei dati sono abilitati sia per il database che per le tabelle. La pulizia automatica dei record obsoleti è abilitata.

Disabilitare la conservazione dei dati in una tabella

La conservazione dei dati può essere disabilitata in una tabella tramite ALTER TABLE. Il comando seguente può essere usato per disabilitare la conservazione dei dati in una tabella.

ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);

Disabilitare la conservazione dei dati in un database

La conservazione dei dati può essere disabilitata in una tabella tramite ALTER DATABA edizione Standard. Il comando seguente può essere usato per disabilitare la conservazione dei dati in un database.

ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;

Passaggi successivi