Membuat Tabel Temporal Versi Sistem yang Dioptimalkan Memori
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Database
Azure SQL Managed Instance yang lebih baru
Mirip dengan membuat tabel riwayat berbasis disk, Anda dapat membuat tabel temporal yang dioptimalkan memori dengan sejumlah cara.
Catatan
Untuk membuat tabel yang dioptimalkan memori, Anda harus terlebih dahulu membuat Grup File Memori yang Dioptimalkan.
Membuat tabel temporal dengan tabel riwayat default adalah opsi yang nyaman saat Anda ingin mengontrol penamaan dan masih mengandalkan sistem untuk membuat tabel riwayat dengan konfigurasi default. Dalam contoh di bawah ini, tabel temporal baru yang dioptimalkan memori versi sistem ditautkan ke tabel riwayat berbasis disk baru.
CREATE SCHEMA History
GO
CREATE TABLE dbo.Department
(
DepartmentNumber char(10) NOT NULL PRIMARY KEY NONCLUSTERED,
DepartmentName varchar(50) NOT NULL,
ManagerID int NULL,
ParentDepartmentNumber char(10) NULL,
ValidFrom datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,
ValidTo datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo)
)
WITH
(
MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA,
SYSTEM_VERSIONING = ON ( HISTORY_TABLE = History.DepartmentHistory )
);
Membuat tabel temporal yang ditautkan ke tabel riwayat yang ada berguna ketika Anda ingin menambahkan penerapan versi sistem menggunakan tabel yang ada, seperti ketika Anda ingin memigrasikan solusi temporal kustom ke dukungan bawaan. Dalam contoh di bawah ini, tabel temporal baru dibuat yang ditautkan ke tabel riwayat yang sudah ada.
--Existing table
CREATE TABLE Department_History
(
DepartmentNumber char(10) NOT NULL,
DepartmentName varchar(50) NOT NULL,
ManagerID int NULL,
ParentDepartmentNumber char(10) NULL,
ValidFrom datetime2 NOT NULL, ValidTo datetime2 NOT NULL
)
;
--Temporal table
CREATE TABLE Department
(
DepartmentNumber char(10) NOT NULL PRIMARY KEY NONCLUSTERED,
DepartmentName varchar(50) NOT NULL,
ManagerID INT NULL,
ParentDepartmentNumber char(10) NULL,
ValidFrom datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,
ValidTo datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo)
)
WITH
(
SYSTEM_VERSIONING = ON
(
HISTORY_TABLE = dbo.Department_History
, DATA_CONSISTENCY_CHECK = ON
)
, MEMORY_OPTIMIZED = ON
, DURABILITY = SCHEMA_AND_DATA
)
;
Lihat
- Tabel Temporal Versi Sistem dengan Tabel yang Dioptimalkan Memori
- Bekerja dengan Tabel Temporal Versi Sistem yang Dioptimalkan Memori
- Memantau Tabel Temporal Versi Sistem yang Dioptimalkan Memori
- Pertimbangan Performa dengan Tabel Temporal Versi Sistem yang Dioptimalkan Memori
- Tabel Temporal
- Pemeriksaan Konsistensi Sistem Tabel Temporal
- Mengelola Retensi Data Historis dalam Tabel Temporal Versi Sistem
- Tampilan dan Fungsi Metadata Tabel Temporal
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk