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.
Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara native tidak mendukung area permukaan penuh Transact-SQL yang didukung oleh tabel berbasis disk dan prosedur tersimpan yang diinterpretasikan Transact-SQL. Saat mencoba menggunakan salah satu fitur yang tidak didukung, server mengembalikan kesalahan.
Teks pesan kesalahan menyebutkan jenis pernyataan Transact-SQL (fitur, operasi, opsi, misalnya) dan serta nama fitur atau kata kunci Transact-SQL. Sebagian besar fitur yang tidak didukung akan mengembalikan kesalahan 10794, dengan teks pesan kesalahan yang menunjukkan fitur yang tidak didukung. Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan, serta tindakan korektif untuk mengatasi kesalahan.
Untuk informasi selengkapnya tentang fitur yang didukung dengan tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli, lihat:
Database yang Menggunakan OLTP In-Memory
Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang bisa muncul dalam teks pesan kesalahan yang melibatkan database OLTP In-Memory.
| Tipe | Nama | Resolusi |
|---|---|---|
| Opsi | TUTUP_OTOMATIS | Opsi database AUTO_CLOSE=ON tidak didukung dengan database yang memiliki grup file MEMORY_OPTIMIZED_DATA. |
| Opsi | Lampirkan_Log_Bangun_Ulang | Opsi CREATE database ATTACH_REBUILD_LOG tidak didukung untuk database yang memiliki filegroup MEMORY_OPTIMIZED_DATA. |
| Fitur | REKAM JEPRET DATABASE | Membuat rekam jepret database tidak didukung dengan database yang memiliki grup file MEMORY_OPTIMIZED_DATA. |
| Fitur | Replikasi menggunakan sync_method 'rekam jepret database' atau 'karakter rekam jepret database' | Replikasi menggunakan sync_method 'cuplikan database' atau 'karakter cuplikan database' tidak didukung dengan database yang memiliki grup file MEMORY_OPTIMIZED_DATA. |
| Fitur | DBCC CHECKDB DBCC CHECKTABLE |
DBCC CHECKDB melewati tabel yang dioptimalkan memori dalam database. DBCC CHECKTABLE akan gagal untuk tabel yang sudah dioptimalkan untuk memori. |
Tabel Memory-Optimized
Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan tabel yang dioptimalkan memori, serta tindakan korektif untuk mengatasi kesalahan.
| Tipe | Nama | Resolusi |
|---|---|---|
| Fitur | AKTIF | Tabel yang dioptimalkan memori tidak dapat ditempatkan pada grup file atau skema partisi. Hapus klausa ON dari CREATE TABLE pernyataan. |
| Jenis data | Nama jenis data | Jenis data yang ditunjukkan tidak didukung. Ganti jenis dengan salah satu jenis data yang didukung. Untuk informasi selengkapnya, lihat Jenis Data yang Didukung. |
| Fitur | Kolom Terhitung | Kolom komputasi tidak didukung untuk tabel yang dioptimalkan memori. Hapus kolom komputasi dari CREATE TABLE pernyataan. |
| Fitur | Replikasi | Replikasi tidak didukung dengan tabel yang dioptimalkan untuk memori. |
| Fitur | FILESTREAM | Penyimpanan FILESTREAM tidak didukung kolom tabel yang dioptimalkan memori.
FILESTREAM Hapus kata kunci dari definisi kolom. |
| Fitur | JARANG | Kolom tabel yang dioptimalkan memori tidak dapat didefinisikan sebagai SPARSE.
SPARSE Hapus kata kunci dari definisi kolom. |
| Fitur | ROWGUIDCOL | Opsi ROWGUIDCOL tidak didukung untuk kolom tabel yang dioptimalkan memori.
ROWGUIDCOL Hapus kata kunci dari definisi kolom. |
| Fitur | KUNCI ASING | Batasan KUNCI ASING tidak didukung untuk tabel yang dioptimalkan memori. Hapus batasan dari definisi tabel. Untuk informasi tentang cara mengurangi kurangnya dukungan untuk batasan, lihat Migrasi Cek dan Batasan Kunci Asing. |
| Fitur | CEK | Batasan CHECK tidak didukung untuk tabel yang dioptimalkan memori. Hapus batasan dari definisi tabel. Untuk informasi tentang cara mengurangi kurangnya dukungan untuk batasan, lihat Migrasi Cek dan Batasan Kunci Asing. |
| Fitur | UNIK | Batasan UNIK tidak didukung untuk tabel yang dioptimalkan memori. Hapus batasan dari definisi tabel. Untuk informasi tentang cara mengurangi kurangnya dukungan untuk batasan, lihat Migrasi Cek dan Batasan Kunci Asing. |
| Fitur | PENYIMPAN KOLOM | Indeks COLUMNSTORE tidak didukung untuk tabel yang dioptimalkan memori. Tentukan indeks NONCLUSTERED atau HASH NONCLUSTERED sebagai alternatif. |
| Fitur | indeks terkluster | Tentukan indeks nonclustered. Dalam kasus indeks kunci primer pastikan untuk menentukan PRIMARY KEY NONCLUSTERED [HASH]. |
| Fitur | halaman kode non-1252 | Kolom dalam tabel yang dioptimalkan untuk memori dengan tipe data char dan varchar harus menggunakan halaman kode 1252. Gunakan n(var)char alih-alih (var)char, atau gunakan kolasi dengan halaman kode 1252 (misalnya, Latin1_General_BIN2). Untuk informasi selengkapnya, lihat Halaman Kolate dan Kode. |
| Fitur | DDL di dalam transaksi | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat dibuat atau dihilangkan dalam konteks transaksi pengguna. Jangan memulai transaksi dan memastikan pengaturan sesi IMPLICIT_TRANSACTIONS NONAKTIF sebelum menjalankan pernyataan CREATE atau DROP. |
| Fitur | Pemicu DDL | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat dibuat atau dihilangkan jika ada pemicu server atau database untuk operasi DDL tersebut. Hapus pemicu server dan database pada CREATE/DROP TABLE dan CREATE/DROP PROCEDURE. |
| Fitur | PEMBERITAHUAN PERISTIWA | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat dibuat atau dihilangkan jika ada pemberitahuan peristiwa server atau database untuk operasi DDL tersebut. Hapus pemberitahuan peristiwa server dan database pada CREATE TABLE atau DROP TABLE dan CREATE PROCEDURE atau DROP PROCEDURE. |
| Fitur | FileTable | Tabel yang dioptimalkan memori tidak dapat dibuat sebagai tabel file. Menghapus argumen AS FileTable dari CREATE TABLE pernyataan |
| Operasi | Pembaruan kolom kunci primer | Kolom kunci primer dalam tabel yang dioptimalkan memori dan jenis tabel tidak dapat diperbarui. Jika kunci primer perlu diperbarui, hapus baris lama dan sisipkan baris baru dengan kunci primer yang diperbarui. |
| Operasi | BUAT INDEKS | Indeks pada tabel yang dioptimalkan memori harus ditentukan secara langsung dengan perintah CREATE TABLE. Untuk menambahkan indeks ke tabel yang dioptimalkan untuk memori, hapus dan buat ulang tabel tersebut, termasuk spesifikasi indeks yang baru. |
| Operasi | UBAH TABEL | Mengubah tabel memori yang dioptimalkan tidak didukung. Letakkan dan buat ulang tabel menggunakan definisi tabel yang diperbarui. |
| Operasi | MENCIPTAKAN INDEKS TEKS PENUH | Indeks teks penuh tidak didukung untuk tabel yang dioptimalkan memori. |
| Operasi | perubahan skema | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak mendukung perubahan shema, misalnya, sp_rename.Mencoba membuat perubahan skema, seperti mengganti nama tabel, akan menghasilkan kesalahan 12320, Operasi yang memerlukan perubahan pada versi skema, misalnya mengganti nama, tidak didukung dengan tabel yang dioptimalkan memori. Untuk mengubah skema, letakkan dan buat ulang tabel atau prosedur menggunakan definisi yang diperbarui. |
| Operasi | BUAT PEMICU | Pemicu pada tabel yang dioptimalkan memori tidak didukung. |
| Operasi | TRUNCATE TABEL | Operasi TRUNCATE tidak didukung untuk tabel yang dioptimalkan memori. Untuk menghapus semua baris dari tabel, hapus semua baris menggunakan DELETE FROMtabel atau letakkan dan buat ulang tabel. |
| Operasi | UBAH OTORISASI | Mengubah pemilik tabel yang dioptimalkan memori yang ada atau prosedur tersimpan yang dikompilasi secara asli tidak didukung. Hilangkan dan buat ulang tabel atau prosedur untuk mengubah kepemilikan. |
| Operasi | UBAH SKEMA | Mengubah skema tabel yang dioptimalkan memori yang ada atau prosedur tersimpan yang dikompilasi secara asli tidak didukung. Jatuhkan dan buat ulang tabel atau prosedur untuk mengubah skema. |
| Operasi | DBCC CHECKTABLE | DBCC CHECKTABLE tidak didukung dengan tabel yang dioptimalkan memori. |
| Fitur | ANSI_PADDING NONAKTIF | Opsi sesi ANSI_PADDING harus aktif saat membuat tabel yang dioptimalkan memori atau prosedur tersimpan yang dikompilasi secara native. Jalankan SET ANSI_PADDING ON sebelum menjalankan pernyataan CREATE. |
| Opsi | Kompresi Data | Pemadatan data tidak didukung untuk tabel yang dioptimalkan memori. Hapus opsi dari definisi tabel. |
| Fitur | DTC | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat diakses dari transaksi terdistribusi. Gunakan transaksi SQL sebagai gantinya. |
| Fitur | Beberapa Set Hasil Aktif (MARS) | Beberapa Set Hasil Aktif (MARS) tidak didukung dengan tabel yang dioptimalkan untuk memori. Kesalahan ini juga dapat menunjukkan penggunaan server tertaut. Server tertaut dapat menggunakan MARS. Server terhubung tidak didukung dengan tabel yang dioptimalkan untuk memori. Sebagai gantinya, sambungkan langsung ke server dan database yang menghosting tabel yang dioptimalkan memori. |
| Operasi | Tabel yang dioptimalkan memori sebagai target MERGE | Tabel yang dioptimalkan untuk memori tidak dapat menjadi target operasi MERGE. Gunakan pernyataan INSERT, UPDATE, atau DELETE sebagai gantinya. |
Indeks pada Tabel Memory-Optimized
Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan indeks pada tabel yang dioptimalkan memori, serta tindakan korektif untuk mengatasi kesalahan.
| Tipe | Nama | Resolusi |
|---|---|---|
| Fitur | Indeks yang difilter | Indeks yang difilter tidak didukung oleh tabel yang dioptimalkan untuk memori. Hilangkan WHERE klausa dari spesifikasi indeks. |
| Fitur | UNIK | Indeks unik tidak didukung untuk tabel yang dioptimalkan memori. Hapus argumen UNIQUE dari spesifikasi indeks. |
| Fitur | Kolom yang dapat diubah ke null | Semua kolom dalam kunci indeks pada tabel yang dioptimalkan memori harus ditentukan sebagai NOT NULL. Sertakan batasan NOT NULL dengan semua kolom dalam kunci indeks. |
| Fitur | non-bin2 collation | Semua kolom karakter dalam kunci indeks yang dioptimalkan memori harus dideklarasikan menggunakan kolase BIN2.
COLLATE Gunakan klausa untuk mengatur kolase dalam definisi kolom. Untuk informasi selengkapnya, lihat Halaman Kolate dan Kode. |
| Fitur | Kolom yang disertakan | Menentukan kolom yang disertakan tidak diperlukan untuk tabel yang dioptimalkan memori. Semua kolom tabel yang dioptimalkan memori secara implisit disertakan dalam setiap indeks yang dioptimalkan memori. |
| Operasi | UBAH INDEKS | Mengubah indeks dalam tabel yang dioptimalkan memori tidak didukung. Sebagai gantinya, hapus tabel dan buat ulang menggunakan spesifikasi indeks yang diperbarui. |
| Operasi | HAPUS INDEKS | Menghapus indeks pada tabel yang dioptimalkan untuk memori tidak didukung. Sebagai gantinya, hapus tabel dan buat ulang dengan indeks yang diinginkan. |
| Opsi indeks | Opsi indeks | Opsi indeks yang ditunjukkan tidak didukung dengan indeks pada tabel yang dioptimalkan memori. Hapus opsi dari spesifikasi indeks. |
Indeks Nonclustered Hash
Tabel berikut ini mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan indeks hash non-klusster, serta tindakan korektif untuk mengatasi kesalahan.
| Tipe | Nama | Resolusi |
|---|---|---|
| Opsi | ASC/DESC | Indeks hash non-kluster tidak diurutkan. Hapus kata kunci ASC dan DESC dari spesifikasi kunci indeks. |
Prosedur Tersimpan yang Dikompilasi Secara Asli
Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan prosedur tersimpan yang dikompilasi secara asli, serta tindakan korektif untuk mengatasi kesalahan.
| Tipe | Fitur | Resolusi |
|---|---|---|
| Fitur | Variabel tabel tertanam | Jenis tabel tidak dapat dideklarasikan sebaris dengan deklarasi variabel. Jenis tabel harus dinyatakan secara eksplisit menggunakan CREATE TYPE pernyataan. |
| Fitur | Kursor | Kursor tidak didukung pada atau dalam prosedur tersimpan yang dikompilasi secara asli. -Saat menjalankan prosedur dari klien, gunakan RPC daripada API kursor. Dengan ODBC, hindari pernyataan EXECUTETransact-SQL , sebagai gantinya tentukan nama prosedur secara langsung.-Saat menjalankan prosedur dari batch Transact-SQL atau prosedur tersimpan lainnya, hindari menggunakan kursor dengan prosedur tersimpan yang dikompilasi secara asli. -Saat membuat prosedur tersimpan yang dikompilasi secara asli, daripada menggunakan kursor, gunakan logika berbasis set atau perulangan WHILE . |
| Fitur | Nilai bawaan parameter yang tidak tetap | Saat menggunakan nilai default dengan parameter pada prosedur tersimpan yang dikompilasi secara asli, nilai harus konstanta. Hapus wildcard apa pun dari deklarasi parameter. |
| Fitur | EKSTERNAL | Prosedur tersimpan CLR tidak dapat dikompilasi secara langsung. Hapus klausa AS EXTERNAL atau opsi NATIVE_COMPILATION dari pernyataan CREATE PROCEDURE. |
| Fitur | Prosedur tersimpan bernomor | Prosedur tersimpan yang dikompilasi secara asli tidak dapat diberi nomor.
; Hapus angka dari CREATE PROCEDURE pernyataan. |
| Fitur | Perintah INSERT beberapa baris ... VALUES | Tidak dapat memasukkan beberapa baris menggunakan pernyataan yang sama INSERT dalam prosedur tersimpan yang dikompilasi secara asli. Buat INSERT pernyataan untuk setiap baris. |
| Fitur | Ekspresi Tabel Umum (CTE) | Ekspresi tabel umum (CTE) tidak didukung dalam prosedur tersimpan yang dikompilasi secara asli. Menulis ulang kueri. |
| Fitur | subkueri | Subkueri (kueri yang ditumpuk di dalam kueri lain) tidak didukung. Menulis ulang kueri. |
| Fitur | MENGHITUNG | klausul COMPUTE tidak didukung. Hapus itu dari kueri. |
| Fitur | PILIH KE DALAM TABEL BARU | Klausa INTO tidak didukung dengan perintah SELECT. Tulis ulang kueri sebagai INSERT INTOTabelSELECT. |
| Fitur | HASIL | klausul OUTPUT tidak didukung. Hapus itu dari kueri. |
| Fitur | daftar kolom yang disisipkan tidak lengkap | Dalam INSERT pernyataan, nilai harus ditentukan untuk semua kolom dalam tabel. |
| Fungsi | Fungsi | Fungsi bawaan tidak didukung dalam prosedur tersimpan yang dikompilasi secara asli. Hapus fungsi dari prosedur yang disimpan. Untuk informasi selengkapnya tentang fungsi bawaan yang didukung, lihat Prosedur Tersimpan yang Dikompilasi Secara Asli. |
| Fitur | KASUS | Pernyataan CASE ini tidak didukung dalam kueri di dalam prosedur tersimpan yang dikompilasi secara asli. Buat kueri untuk setiap kasus. Untuk informasi selengkapnya, lihat Menerapkan Pernyataan KASUS. |
| Fitur | Fungsi yang Ditentukan Pengguna | Fungsi yang ditentukan pengguna tidak dapat digunakan dalam prosedur tersimpan yang dikompilasi secara asli. Hapus referensi ke fungsi dari definisi prosedur. |
| Fitur | agregat yang ditentukan pengguna | Fungsi agregat yang ditentukan pengguna tidak dapat digunakan dalam prosedur tersimpan yang dikompilasi secara asli. Hapus referensi ke fungsi dari prosedur. |
| Fitur | metadata mode telusuri | Prosedur tersimpan yang dikompilasi secara asli tidak mendukung metadata mode telusur. Pastikan opsi NO_BROWSETABLE sesi diatur ke NONAKTIF. |
| Fitur | HAPUS dengan klausa FROM | Klausa FROM tidak didukung untuk DELETE pernyataan dengan sumber tabel dalam prosedur tersimpan yang dikompilasi secara asli.DELETE
FROM dengan klausa didukung saat digunakan untuk menunjukkan tabel yang akan dihapus. |
| Fitur | Pembaruan dengan klausa FROM | Klausa FROM tidak didukung untuk UPDATE pernyataan dalam prosedur tersimpan yang dikompilasi secara asli. |
| Fitur | prosedur sementara | Prosedur tersimpan sementara tidak dapat dikompilasi secara asli. Buat prosedur tersimpan permanen yang dikompilasi secara asli atau prosedur tersimpan Transact-SQL yang diinterpretasikan sementara. |
| Tingkat isolasi | BACA TIDAK DIKOMIT | Tingkat isolasi READ UNCOMMITTED tidak didukung untuk prosedur tersimpan yang dikompilasi secara asli. Gunakan tingkat isolasi yang didukung, seperti SNAPSHOT. |
| Tingkat isolasi | BACA BERKOMITMEN | Tingkat isolasi READ UNCOMMITTED tidak didukung untuk prosedur tersimpan yang dikompilasi secara asli. Gunakan tingkat isolasi yang didukung, seperti SNAPSHOT. |
| Fitur | tabel sementara | Tabel dalam tempdb tidak dapat digunakan dalam prosedur tersimpan yang dikompilasi secara asli. Sebagai gantinya, gunakan variabel tabel atau tabel yang dioptimalkan memori dengan DURABILITY=SCHEMA_ONLY. |
| Fitur | MARS | Beberapa Set Hasil Aktif (MARS) tidak didukung dengan prosedur tersimpan yang dikompilasi secara asli. Kesalahan ini juga dapat menunjukkan penggunaan server tertaut. Server tertaut dapat menggunakan MARS. Server terhubung tidak didukung dengan prosedur tersimpan yang dikompilasi secara native. Sebagai gantinya, sambungkan langsung ke server dan database yang menghosting prosedur tersimpan yang dikompilasi secara asli. |
| Fitur | Penjualan Langsung ke Konsumen (DTC) | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat diakses dari transaksi terdistribusi. Gunakan transaksi SQL sebagai gantinya. |
| Fitur | non-bin2 collation | Perbandingan, pengurutan, dan operasi lain pada string karakter dalam prosedur tersimpan yang dikompilasi secara asli memerlukan penggunaan kolase BIN2. Gunakan klausa COLLATE atau gunakan kolom dan variabel dengan kolate yang sesuai. Untuk informasi selengkapnya, lihat Halaman Kolate dan Kode. |
| Fitur | Pemotongan string karakter dengan pengurutan SC. | String karakter yang menggunakan _SC kolasi menggunakan pengodean UTF-16. Mengonversi nilai karakter n(var) menjadi nilai karakter n(var) dengan panjang pendek melibatkan pemotongan. Ini tidak didukung untuk nilai UTF-16 dalam prosedur tersimpan yang dikompilasi secara asli. Hindari pemotongan string UTF-16. |
| Fitur | JALANKAN DENGAN KOMPILASI ULANG | Opsi WITH RECOMPILE ini tidak didukung untuk prosedur tersimpan yang dikompilasi secara asli. |
| Fitur | LEN dan SUBSTRING dengan argumen dalam kolasi SC | String karakter yang memiliki kolasi _SC menggunakan pengodean UTF-16. Fungsi bawaan LEN dan SUBSTRING, ketika digunakan di dalam prosedur tersimpan yang dikompilasi secara asli, tidak mendukung pengodean UTF-16. Gunakan kolatasi yang berbeda atau hindari menggunakan fungsi-fungsi ini. |
| Fitur | Eksekusi dari koneksi administrator khusus. | Prosedur tersimpan yang dikompilasi secara asli tidak dapat dijalankan dari koneksi admin khusus (DAC). Gunakan koneksi reguler sebagai gantinya. |
| Operasi | UBAH PROSEDUR | Prosedur tersimpan yang dikompilasi secara asli tidak dapat diubah. Untuk mengubah definisi prosedur, hilangkan dan buat ulang prosedur tersimpan. |
| Operasi | titik simpan | Prosedur tersimpan yang dikompilasi secara asli tidak dapat dipanggil dari transaksi yang memiliki titik penyimpanan aktif. Hapus savepoint dari transaksi. |
| Operasi | UBAH OTORISASI | Mengubah pemilik tabel yang dioptimalkan memori yang ada atau prosedur tersimpan yang dikompilasi secara asli tidak didukung. Hilangkan dan buat ulang tabel atau prosedur untuk mengubah kepemilikan. |
| Pengoperasi | OPENROWSET | Operator ini tidak didukung. Hapus OPENROWSET dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | OPENQUERY | Operator ini tidak didukung. Hapus OPENQUERY dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | OPENDATASOURCE | Operator ini tidak didukung. Hapus OPENDATASOURCE dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | OPENXML | Operator ini tidak didukung. Hapus OPENXML dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | CONTAINSTABLE | Operator ini tidak didukung. Hapus CONTAINSTABLE dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | FREETEXTTABLE | Operator ini tidak didukung. Hapus FREETEXTTABLE dari prosedur tersimpan yang dikompilasi secara asli. |
| Fitur | fungsi bernilai tabel | Fungsi bernilai tabel tidak dapat dirujuk dari prosedur tersimpan yang dikompilasi secara asli. Salah satu solusi yang mungkin untuk pembatasan ini adalah menambahkan logika dalam fungsi bernilai tabel ke isi prosedur. |
| Pengoperasi | Tabel Perubahan | Operator ini tidak didukung. Hapus CHANGETABLE dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | PERGI KE | Operator ini tidak didukung. Gunakan konstruksi prosedural lainnya seperti WHILE. |
| Pengoperasi | JALANKAN, SISIPKAN EXEC | Prosedur tersimpan yang dikompilasi secara asli tidak didukung. Operasi yang diperlukan dapat ditentukan sebaris, sebagai bagian dari definisi prosedur tersimpan. |
| Pengoperasi | Pergeseran | Operator ini tidak didukung. Hapus OFFSET dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | GABUNGAN | Operator ini tidak didukung. Hapus UNION dari prosedur tersimpan yang dikompilasi secara asli. Menggabungkan beberapa tataan hasil ke dalam satu tataan hasil dapat dilakukan menggunakan variabel tabel. |
| Pengoperasi | PERSILANGAN | Operator ini tidak didukung. Hapus INTERSECT dari prosedur tersimpan yang dikompilasi secara asli. Dalam beberapa kasus, INNER JOIN dapat digunakan untuk mendapatkan hasil yang sama. |
| Pengoperasi | KECUALI | Operator ini tidak didukung. Hapus EXCEPT dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | GABUNGAN LUAR | Operator ini tidak didukung. Hapus OUTER JOIN dari prosedur tersimpan yang dikompilasi secara asli. Untuk informasi selengkapnya, lihat Menerapkan Outer Join. |
| Pengoperasi | BERLAKU | Operator ini tidak didukung. Hapus APPLY dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | PIVOT | Operator ini tidak didukung. Hapus PIVOT dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | UNPIVOT | Operator ini tidak didukung. Hapus UNPIVOT dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | ATAU, DI | Disjungsi (OR, IN) tidak didukung dalam klausa WHERE dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. Buat kueri untuk setiap kasus. |
| Pengoperasi | BERISI | Operator ini tidak didukung. Hapus CONTAINS dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | TEKS BEBAS | Operator ini tidak didukung. Hapus FREETEXT dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | TIDAK | Operator ini tidak didukung. Hapus NOT dari prosedur tersimpan yang dikompilasi secara asli. Dalam beberapa kasus, NOT dapat diganti dengan ketidaksamaan. Misalnya, NOT a=b dapat diganti dengan a!=b. |
| Pengoperasi | TSEQUAL | Operator ini tidak didukung. Hapus TSEQUAL dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | Suka | Operator ini tidak didukung. Hapus LIKE dari prosedur tersimpan yang dikompilasi secara asli. |
| Pengoperasi | NILAI BERIKUTNYA UNTUK | Urutan tidak dapat direferensikan di dalam prosedur tersimpan yang dikompilasi secara asli. Dapatkan nilai menggunakan Transact-SQL yang ditafsirkan, lalu teruskan ke prosedur tersimpan yang dikompilasi secara asli. Untuk informasi selengkapnya, lihat Menerapkan IDENTITY dalam Tabel Memory-Optimized. |
| Atur opsi | pilihan | Opsi SET tidak dapat diubah di dalam prosedur tersimpan yang dikompilasi secara asli. Opsi tertentu dapat diatur dengan pernyataan BEGIN ATOMIC. Untuk informasi selengkapnya, lihat bagian tentang blok atonik di Prosedur Tersimpan yang Dikompilasi Secara Asli. |
| Operand | TABLESAMPLE | Operator ini tidak didukung. Hapus TABLESAMPLE dari prosedur tersimpan yang dikompilasi secara asli. |
| Opsi | KOMPILASI ULANG | Prosedur tersimpan yang dikompilasi secara asli dikompilasi pada waktu pembuatan. Untuk mengkompilasi ulang prosedur tersimpan yang dikompilasi secara asli, hilangkan dan buat ulang. Hapus RECOMPILE dari definisi prosedur. |
| Opsi | ENKRIPSI | Opsi ini tidak didukung. Hapus ENCRYPTION dari definisi prosedur. |
| Opsi | UNTUK REPLIKASI | Prosedur tersimpan yang dikompilasi secara asli tidak dapat dibuat untuk replikasi. Dihapus FOR REPLICATION dari definisi prosedur. |
| Opsi | UNTUK FORMAT XML | Opsi ini tidak didukung. Hapus FOR XML dari prosedur tersimpan yang dikompilasi secara asli. |
| Opsi | UNTUK MENELUSURI | Opsi ini tidak didukung. Hapus FOR BROWSE dari prosedur tersimpan yang dikompilasi secara asli. |
| Petunjuk gabungan | HASH, GABUNGKAN | Prosedur tersimpan yang dikompilasi secara asli hanya mendukung gabungan perulangan berlapis. Gabungan hash dan penggabungan tidak didukung. Hapus petunjuk gabungan. |
| Petunjuk kueri | Petunjuk kueri | Petunjuk kueri ini tidak ada di dalam prosedur tersimpan yang dikompilasi secara asli. Untuk petunjuk kueri yang didukung lihat Petunjuk Kueri (Transact-SQL). |
| Opsi | NYATA | Opsi ini tidak didukung. Hapus DISTINCT dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. |
| Opsi | PERSEN | Opsi ini tidak didukung dengan TOP klausul. Hapus PERCENT dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. |
| Opsi | DENGAN IKATAN | Opsi ini tidak didukung dengan TOP klausul. Hapus WITH TIES dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. |
| Fungsi agregat | Fungsi agregat | Klausa ini tidak didukung. Untuk informasi selengkapnya tentang fungsi agregat dalam prosedur tersimpan yang dikompilasi secara asli, lihat Prosedur Tersimpan yang Dikompilasi Secara Asli. |
| Fungsi peringkat | Fungsi peringkat | Fungsi peringkat tidak didukung dalam prosedur tersimpan yang dikompilasi secara asli. Hapus mereka dari definisi prosedur. |
| Fungsi | Fungsi | Fungsi ini tidak didukung. Hapus dari prosedur tersimpan yang dikompilasi secara asli. |
| Pernyataan | Pernyataan | Pernyataan ini tidak didukung. Hapus item tersebut dari prosedur tersimpan yang dikompilasi secara alami. |
| Fitur | MIN dan MAX digunakan dengan string biner dan karakter | Fungsi agregat MIN dan MAX tidak dapat digunakan untuk nilai karakter dan string biner di dalam prosedur tersimpan yang dikompilasi secara asli. |
| Fitur | GROUP BY tanpa fungsi agregat | Dalam prosedur tersimpan yang dikompilasi secara asli, saat kueri memiliki GROUP BY klausa, kueri juga harus menggunakan fungsi agregat dalam klausa SELECT atau HAVING. Tambahkan fungsi agregat ke kueri. |
| Fitur | KELOMPOKKAN MENURUT SEMUA | ALL tidak dapat digunakan dengan klausul GROUP BY dalam prosedur tersimpan yang dikompilasi secara asli. Hapus SEMUA dari klausa GROUP BY. |
| Fitur | KELOMPOKKAN MENURUT () | Pengelompokan menurut daftar kosong tidak didukung. Hapus klausa GROUP BY, atau sertakan kolom dalam daftar pengelompokan. |
| Fitur | Penggulungan |
ROLLUP tidak dapat digunakan dengan klausa GROUP BY dalam prosedur tersimpan yang dikompilasi secara native. Hapus ROLLUP dari definisi prosedur. |
| Fitur | KUBUS |
CUBE tidak dapat digunakan dengan GROUP BY klausa dalam prosedur tersimpan yang dikompilasi secara asli. Hapus CUBE dari definisi prosedur. |
| Fitur | Kelompok Set |
GROUPING SETS tidak dapat digunakan dengan klausa GROUP BY dalam prosedur tersimpan yang dikompilasi secara native. Hapus GROUPING SETS dari definisi prosedur. |
| Fitur | MULAI TRANSAKSI, TRANSAKSI PENERAPAN, dan TRANSAKSI PEMBATALAN | Gunakan blok ATOMIC untuk mengontrol transaksi dan penanganan kesalahan. Untuk informasi selengkapnya, lihat Blok Atomik. |
| Fitur | Deklarasi variabel tabel sebaris. | Variabel tabel harus mereferensikan jenis tabel yang dioptimalkan memori yang ditentukan secara eksplisit. Anda harus membuat tipe tabel yang dioptimalkan untuk memori dan menggunakan tipe tersebut untuk deklarasi variabel, daripada menentukan tipe secara sebaris. |
| Fitur | sp_recompile (perintah untuk mengkompilasi ulang) | Kompilasi ulang prosedur tersimpan yang dikompilasi secara asli tidak didukung. Hapus dan buat ulang prosedur. |
| Fitur | JALANKAN SEBAGAI PENELEPON | Klausa EXECUTE AS diperlukan. Tetapi EXECUTE AS CALLER tidak didukung. Gunakan EXECUTE AS OWNER, EXECUTE ASpengguna, atau EXECUTE AS SELF. |
| Fitur | Tabel berbasis disk | Tabel berbasis disk tidak dapat diakses dari prosedur tersimpan yang dikompilasi secara asli. Hapus referensi ke tabel berbasis disk dari prosedur tersimpan yang dikompilasi secara asli. Atau, migrasikan tabel berbasis disk ke memori yang dioptimalkan. |
| Fitur | Pandangan | Tampilan tidak dapat diakses dari prosedur tersimpan yang dikompilasi secara asli. Alih-alih memakai view, referensikan tabel dasar. |
| Fitur | Fungsi yang bernilai tabel | Fungsi bernilai tabel tidak dapat diakses dari prosedur tersimpan yang dikompilasi secara asli. Hapus referensi ke fungsi bernilai tabel dari prosedur tersimpan yang dikompilasi secara asli. |
Transaksi yang Mengakses Tabel Memory-Optimized
Tabel berikut mencantumkan fitur Transact-SQL dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan transaksi yang mengakses tabel yang dioptimalkan memori, serta tindakan korektif untuk mengatasi kesalahan.
| Tipe | Nama | Resolusi |
|---|---|---|
| Fitur | titik simpan | Membuat titik penyimpanan eksplisit dalam transaksi yang mengakses tabel yang dioptimalkan memori tidak didukung. |
| Fitur | transaksi terikat | Sesi terikat tidak dapat berpartisipasi dalam transaksi yang mengakses tabel yang dioptimalkan memori. Jangan mengunci sesi sebelum prosedur dijalankan. |
| Fitur | DTC | Transaksi yang mengakses tabel yang dioptimalkan memori tidak dapat menjadi transaksi terdistribusi. |