Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Usługa Azure SQL Edge została wycofana 30 września 2025 r. Aby uzyskać więcej informacji i opcji migracji, zobacz powiadomienie o wycofaniu.
Uwaga / Notatka
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:
- date
- smalldatetime
- datetime
- datetime2
- 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łączony | Wyłączony | Zasady przechowywania danych są wyłączone, a automatyczne i ręczne czyszczenie przestarzałych rekordów jest wyłączone. |
| Wyłączony | 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łączony | 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;