Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) dan versi
yang lebih baru Azure SQL Managed Instance
Mirip dengan membuat tabel riwayat berbasis disk, Anda dapat membuat tabel temporal yang dioptimalkan memori dalam beberapa cara.
Untuk membuat tabel yang dioptimalkan memori, Anda harus terlebih dahulu membuat grup file memori yang dioptimalkan.
Nota
Tabel temporal yang dioptimalkan memori hanya tersedia di SQL Server dan Azure SQL Managed Instance. Tabel yang dioptimalkan memori dan tabel temporal tersedia secara independen di Azure SQL Database.
Membuat tabel temporal yang dioptimalkan memori dengan tabel riwayat default
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 berikut, tabel temporal yang dioptimalkan memori versi sistem baru 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 dioptimalkan memori dengan tabel riwayat yang ada
Anda dapat membuat tabel temporal yang ditautkan ke tabel riwayat yang ada saat Anda ingin menambahkan penerapan versi sistem menggunakan tabel yang sudah ada. Skenario ini berguna ketika Anda ingin memigrasikan solusi temporal kustom ke dukungan bawaan. Dalam contoh berikut, tabel temporal baru dibuat 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
);
Konten terkait
- Tabel temporal versi sistem dengan tabel memori yang dioptimalkan
- Bekerja dengan tabel temporal versi sistem yang dioptimalkan memori
- Memantau tabel temporal versi sistem yang dioptimalkan untuk memori
- Performa 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