Fitur SQL Server yang Tidak Didukung untuk OLTP Dalam Memori
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Topik ini membahas fitur SQL Server yang tidak didukung untuk digunakan dengan objek yang dioptimalkan memori. Plus, bagian akhir mencantumkan fitur yang tidak didukung untuk OLTP Dalam Memori, tetapi kemudian didukung.
Fitur SQL Server Tidak Didukung untuk OLTP Dalam Memori
Fitur SQL Server berikut ini tidak didukung pada database yang memiliki objek yang dioptimalkan memori (termasuk grup file data yang dioptimalkan memori).
Fitur yang Tidak Didukung | Deskripsi Fitur |
---|---|
Kompresi data untuk tabel yang dioptimalkan memori. | Anda dapat menggunakan fitur kompresi data untuk membantu memadatkan data di dalam database, dan untuk membantu mengurangi ukuran database. Untuk informasi selengkapnya, lihat Kompresi Data. |
Pemartisian tabel dan indeks HASH yang dioptimalkan memori, dan indeks non-klusster. | Data tabel dan indeks yang dipartisi dibagi menjadi satuan yang dapat tersebar di lebih dari satu grup file dalam database. Untuk informasi selengkapnya, lihat Tabel dan Indeks yang Dipartisi. |
Replikasi | Konfigurasi replikasi, selain replikasi transaksional ke tabel yang dioptimalkan memori pada pelanggan, tidak kompatibel dengan tabel atau tampilan yang mereferensikan tabel yang dioptimalkan memori. Jika ada grup file yang dioptimalkan memori, replikasi menggunakan rekam jepret sync_mode='database' tidak didukung. Untuk informasi selengkapnya, lihat Replikasi ke Pelanggan Tabel yang Dioptimalkan Memori. |
Mirroring | Pencerminan database tidak didukung untuk database dengan grup file MEMORY_OPTIMIZED_DATA. Untuk informasi selengkapnya tentang pencerminan, lihat Pencerminan Database (SQL Server). |
Membangun kembali log | Membangun kembali log, baik melalui lampirkan atau UBAH DATABASE, tidak didukung untuk database dengan grup file MEMORY_OPTIMIZED_DATA. |
Server yang Ditautkan | Anda tidak dapat mengakses server tertaut dalam kueri atau transaksi yang sama dengan tabel yang dioptimalkan memori. Untuk informasi selengkapnya, lihat Server Tertaut (Mesin Database). |
Pengelogan massal | Terlepas dari model pemulihan database, semua operasi pada tabel yang dioptimalkan memori tahan lama selalu dicatat sepenuhnya. |
Pengelogan minimal | Pengelogan minimal tidak didukung untuk tabel yang dioptimalkan memori. Untuk informasi selengkapnya tentang pengelogan minimal, lihat Log Transaksi (SQL Server) dan Prasyarat untuk Pengelogan Minimal dalam Impor Massal. |
Pelacakan perubahan | Pelacakan perubahan tidak didukung untuk tabel memori yang dioptimalkan. |
Pemicu DDL | Pemicu tingkat database dan pemicu DDL tingkat server tidak didukung dengan tabel OLTP Dalam Memori atau dengan modul yang dikompilasi secara asli. |
Pengambilan Data Perubahan (CDC) | SQL Server 2017 CU15 dan dukungan yang lebih tinggi memungkinkan CDC pada database yang memiliki tabel memori yang dioptimalkan. Ini hanya berlaku untuk database dan tabel di disk apa pun dalam database. Dalam versi SQL Server yang lebih lama, CDC tidak dapat digunakan dengan database yang memiliki tabel yang dioptimalkan memori, karena secara internal CDC menggunakan pemicu DDL untuk DROP TABLE. |
Mode serat | Mode serat tidak didukung dengan tabel yang dioptimalkan memori: Jika mode serat aktif, Anda tidak dapat membuat database dengan grup file yang dioptimalkan memori, anda juga tidak dapat menambahkan grup file yang dioptimalkan memori ke database yang ada. Anda dapat mengaktifkan mode serat jika ada database dengan grup file yang dioptimalkan memori. Namun, mengaktifkan mode serat memerlukan restart server. Dalam situasi itu, database dengan grup file yang dioptimalkan memori akan gagal dipulihkan. Kemudian Anda akan melihat pesan kesalahan yang menunjukkan bahwa Anda menonaktifkan mode serat untuk menggunakan database dengan grup file yang dioptimalkan memori. Jika mode serat aktif, melampirkan dan memulihkan database yang memiliki grup file yang dioptimalkan memori gagal. Database akan ditandai sebagai tersangka. Untuk informasi selengkapnya, lihat Opsi Konfigurasi Server pengumpulan ringan. |
Batasan Service Broker | Tidak dapat mengakses antrean dari prosedur tersimpan yang dikompilasi secara asli. Tidak dapat mengakses antrean dalam database jarak jauh dalam transaksi yang mengakses tabel yang dioptimalkan memori. |
Replikasi pada pelanggan | Replikasi transaksional ke tabel yang dioptimalkan memori pada pelanggan didukung, tetapi dengan beberapa batasan. Untuk informasi selengkapnya, lihat Replikasi ke Pelanggan Tabel yang Dioptimalkan Memori |
Kueri dan transaksi lintas database
Dengan beberapa pengecualian, transaksi lintas database tidak didukung. Tabel berikut ini menjelaskan kasus mana yang didukung, dan pembatasan terkait. (Lihat juga, Kueri Lintas Database.)
Database | Diizinkan | Deskripsi |
---|---|---|
Database pengguna, model, dan msdb. | No | Dalam kebanyakan kasus, kueri dan transaksi lintas database tidak didukung. Kueri tidak dapat mengakses database lain jika kueri menggunakan tabel yang dioptimalkan memori atau prosedur tersimpan yang dikompilasi secara asli. Pembatasan ini berlaku untuk transaksi dan kueri. Pengecualiannya adalah database sistem tempdb dan master. Di sini database master tersedia untuk akses baca-saja. |
Database sumber daya , tempdb | Ya | Dalam transaksi yang menyentuh objek OLTP Dalam Memori, database sistem Sumber Daya dan tempdb dapat digunakan tanpa batasan tambahan. |
Skenario Tidak Didukung
Mengakses tabel yang dioptimalkan memori dengan menggunakan koneksi konteks dari dalam prosedur tersimpan CLR.
Keyset dan kursor dinamis pada kueri yang mengakses tabel yang dioptimalkan memori. Kursor ini diturunkan menjadi statis dan baca-saja.
Menggunakan target MERGE INTO, di mana target adalah tabel yang dioptimalkan memori, tidak didukung.
- Sumber MERGE USING didukung untuk tabel yang dioptimalkan memori.
Jenis data ROWVERSION (TIMESTAMP) tidak didukung. Untuk informasi selengkapnya, lihat FROM (Transact-SQL).
Tutup otomatis tidak didukung dengan database yang memiliki grup file MEMORY_OPTIMIZED_DATA
DDL transaksional, seperti CREATE/ALTER/DROP objek OLTP Dalam Memori, tidak didukung di dalam transaksi pengguna.
Pemberitahuan peristiwa.
Manajemen berbasis kebijakan (PBM).
- Mencegah dan mencatat mode PBM saja tidak didukung. Keberadaan kebijakan tersebut di server dapat mencegah DDL OLTP Dalam Memori berhasil dijalankan. Mode sesuai permintaan dan sesuai jadwal didukung.
Penahanan database (Database Terkandung) tidak didukung dengan OLTP Dalam Memori.
- Autentikasi database yang terkandung didukung. Namun, semua objek OLTP Dalam Memori ditandai sebagai penahanan yang melanggar dalam tampilan manajemen dinamis (DMV) dm_db_uncontained_entities.
Dukungan yang baru ditambahkan
Terkadang rilis SQL Server yang lebih baru menambahkan dukungan untuk fitur yang sebelumnya tidak didukung. Bagian ini mencantumkan fitur yang sebelumnya tidak didukung untuk OLTP Dalam Memori, tetapi kemudian didukung untuk OLTP Dalam Memori.
Dalam tabel berikut, nilai versi seperti (15.x)
merujuk ke nilai yang dikembalikan oleh pernyataan SELECT @@Version;
Transact-SQL .
Nama fitur | Versi SQL Server | Komentar |
---|---|---|
Snapshot database | 2019 (15.x) | Rekam jepret database sekarang didukung untuk database yang memiliki grup file MEMORY_OPTIMIZED_DATA. |