Włączanie i wyłączanie zasad przechowywania danych
Ważne
Usługa Azure SQL Edge zostanie wycofana 30 września 2025 r. Aby uzyskać więcej informacji i opcji migracji, zobacz powiadomienie o wycofaniu.
Uwaga
Usługa Azure SQL Edge nie obsługuje już platformy ARM64.
W tym artykule opisano sposób włączania i wyłączania zasad przechowywania danych dla bazy danych i tabeli.
Włączanie przechowywania danych dla bazy danych
W poniższym przykładzie pokazano, jak włączyć przechowywanie danych przy użyciu funkcji ALTER DATABASE.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION ON;
Sprawdzanie, czy przechowywanie danych jest włączone dla bazy danych
Następujące polecenie może służyć do sprawdzania, czy przechowywanie danych jest włączone dla bazy danych.
SELECT is_data_retention_enabled,
name
FROM sys.databases;
Włączanie przechowywania danych dla tabeli
Przechowywanie danych musi być włączone dla każdej tabeli, dla której dane mają być automatycznie czyszczone. Gdy przechowywanie danych jest włączone w bazie danych i tabeli, zadanie systemowe w tle okresowo skanuje tabelę w celu zidentyfikowania i usunięcia wszystkich przestarzałych (przestarzałych) wierszy. Przechowywanie danych można włączyć w tabeli podczas tworzenia tabeli przy użyciu polecenia CREATE TABLE lub alter TABLE.
W poniższym przykładzie pokazano, jak włączyć przechowywanie danych dla tabeli przy użyciu funkcji 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
)
);
Część WITH (DATA_DELETION = ON (FILTER_COLUMN = [dbdatetime2], RETENTION_PERIOD = 1 day))
polecenia CREATE TABLE ustawia przechowywanie danych w tabeli. Polecenie używa następujących wymaganych parametrów:
DATA_DELETION: wskazuje, czy przechowywanie danych jest włączone, czy wyłączone.
FILTER_COLUMN: nazwa kolumny w tabeli, która będzie używana do ustalenia, czy wiersze są przestarzałe, czy nie. Kolumna filtru może być tylko kolumną z następującymi typami danych:
- data
- smalldatetime
- data/godzina
- data/godzina2
- datetimeoffset
RETENTION_PERIOD: wartość całkowita, po której następuje deskryptor jednostki. Dozwolone jednostki to DAY, DAYS, WEEK, WEEKS, MONTH, MONTHS, YEAR i YEARS.
W poniższym przykładzie pokazano, jak włączyć przechowywanie danych dla tabeli przy użyciu funkcji ALTER TABLE.
ALTER TABLE [dbo].[data_retention_table]
SET (
DATA_DELETION = ON (
FILTER_COLUMN = [timestamp],
RETENTION_PERIOD = 1 day
)
)
Sprawdzanie, czy przechowywanie danych jest włączone dla tabeli
Następujące polecenie może służyć do sprawdzania tabel, dla których włączono przechowywanie danych
SELECT name,
data_retention_period,
data_retention_period_unit
FROM sys.tables;
Wartość data_retention_period = -1
i data_retention_period_unit
jako NIESKOŃCZONA wskazuje, że przechowywanie danych nie jest ustawione w tabeli.
Poniższe zapytanie może służyć do identyfikowania kolumny używanej filter_column
jako przechowywania danych.
SELECT name
FROM sys.columns
WHERE is_data_deletion_filter_column = 1
AND object_id = object_id(N'dbo.data_retention_table', N'U');
Skorelowanie ustawień przechowywania danych bazy danych i tabeli
Ustawienie przechowywania danych w bazie danych i tabeli jest używane w połączeniu w celu określenia, czy autocleanup dla przestarzałych wierszy działa w tabelach.
Opcja bazy danych | Opcja tabeli | Zachowanie |
---|---|---|
WYŁ. | WYŁ. | Zasady przechowywania danych są wyłączone, a automatyczne i ręczne czyszczenie przestarzałych rekordów jest wyłączone. |
WYŁ. | ON | Zasady przechowywania danych są włączone dla tabeli. Automatyczne czyszczenie przestarzałych rekordów jest wyłączone, jednak metoda oczyszczania ręcznego może służyć do czyszczenia przestarzałych rekordów. |
ON | WYŁ. | Zasady przechowywania danych są włączone na poziomie bazy danych. Jednak ponieważ opcja jest wyłączona na poziomie tabeli, nie ma czyszczenia na podstawie przechowywania przestarzałych wierszy. |
ON | ON | Zasady przechowywania danych są włączone zarówno dla bazy danych, jak i tabel. Automatyczne czyszczenie przestarzałych rekordów jest włączone. |
Wyłączanie przechowywania danych w tabeli
Przechowywanie danych można wyłączyć w tabeli przy użyciu funkcji ALTER TABLE. Następujące polecenie może służyć do wyłączania przechowywania danych w tabeli.
ALTER TABLE [dbo].[data_retention_table]
SET (DATA_DELETION = OFF);
Wyłączanie przechowywania danych w bazie danych
Przechowywanie danych można wyłączyć w tabeli przy użyciu funkcji ALTER DATABASE. Następujące polecenie może służyć do wyłączania przechowywania danych w bazie danych.
ALTER DATABASE [<DatabaseName>] SET DATA_RETENTION OFF;