Konstruksi Transact-SQL Tidak Didukung oleh OLTP Dalam Memori
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Tabel yang dioptimalkan memori, prosedur tersimpan yang dikompilasi secara asli, dan fungsi yang ditentukan pengguna tidak mendukung area permukaan Transact-SQL lengkap yang didukung oleh tabel berbasis disk, prosedur tersimpan Transact-SQL yang ditafsirkan, dan fungsi yang ditentukan pengguna. 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 dan kata kunci Transact-SQL 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:
Masalah Migrasi untuk Prosedur Tersimpan yang Dikompilasi Secara Asli
Fitur SQL Server yang Tidak Didukung untuk OLTP Dalam Memori
Database yang Menggunakan OLTP Dalam Memori
Tabel berikut mencantumkan fitur Transact-SQL yang tidak didukung, dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan database OLTP Dalam Memori. Tabel juga mencantumkan resolusi untuk kesalahan.
Jenis | Nama | Resolusi |
---|---|---|
Opsi | AUTO_CLOSE | Opsi database AUTO_CLOSE=ON tidak didukung dengan database yang memiliki grup file MEMORY_OPTIMIZED_DATA. |
Opsi | ATTACH_REBUILD_LOG | Opsi BUAT database ATTACH_REBUILD_LOG tidak didukung dengan database yang memiliki grup file 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 'rekam jepret database' atau 'karakter rekam jepret 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 dioptimalkan memori. |
Tabel yang Dioptimalkan Memori
Tabel berikut mencantumkan fitur Transact-SQL yang tidak didukung, dan kata kunci yang dapat muncul dalam teks pesan kesalahan yang melibatkan tabel yang dioptimalkan memori. Tabel juga mencantumkan resolusi untuk kesalahan.
Jenis | Nama | Resolusi |
---|---|---|
Fitur | AKTIF | Tabel yang dioptimalkan memori tidak dapat ditempatkan pada grup file atau skema partisi. Hapus klausa ON dari pernyataan CREATE TABLE . Semua tabel memori yang dioptimalkan dipetakan ke grup file yang dioptimalkan memori. |
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 untuk OLTP Dalam Memori. |
Fitur | Kolom komputasi | Berlaku untuk: SQL Server 2014 (12.x) dan SQL Server 2016 (13.x) Kolom komputasi tidak didukung untuk tabel yang dioptimalkan memori. Hapus kolom komputasi dari pernyataan CREATE TABLE . Azure SQL Database dan SQL Server yang memulai SQL Server 2017 (14.x) mendukung kolom komputasi dalam tabel dan indeks yang dioptimalkan memori. |
Fitur | Replikasi | Replikasi tidak didukung dengan tabel yang dioptimalkan memori. |
Fitur | FILESTREAM | Penyimpanan FILESTREAM tidak didukung kolom tabel yang dioptimalkan memori. Hapus kata kunci FILESTREAM dari definisi kolom. |
Fitur | JARANG | Kolom tabel yang dioptimalkan memori tidak dapat didefinisikan sebagai SPARSE. Hapus kata kunci SPARSE dari definisi kolom. |
Fitur | ROWGUIDCOL | Opsi ROWGUIDCOL tidak didukung untuk kolom tabel yang dioptimalkan memori. Hapus kata kunci ROWGUIDCOL dari definisi kolom. |
Fitur | KUNCI ASING | Berlaku untuk: Azure SQL Database dan SQL Server memulai SQL Server 2016 (13.x) Untuk tabel yang dioptimalkan memori, batasan KUNCI ASING hanya didukung untuk kunci asing yang mereferensikan kunci utama tabel lain yang dioptimalkan memori. Hapus batasan dari definisi tabel jika kunci asing mereferensikan batasan unik. Di SQL Server 2014 (12.x), batasan KUNCI ASING tidak didukung dengan tabel yang dioptimalkan memori. |
Fitur | indeks terkluster | Tentukan indeks nonclustered. Dalam kasus indeks kunci primer, pastikan untuk menentukan PRIMARY KEY NONCLUSTERED. |
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 | NOTIFIKASI KEJADIAN | 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 pernyataan CREATE TABLE |
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 | CREATE INDEX | Indeks pada tabel yang dioptimalkan memori harus ditentukan sebaris dengan pernyataan CREATE TABLE , atau dengan pernyataan ALTER TABLE . |
Operasi | MEMBUAT INDEKS FULLTEXT | 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 skema tertentu: Azure SQL Database dan SQL Server yang memulai SQL Server 2017 (14.x): OPERASI ALTER TABLE, ALTER PROCEDURE, dan sp_rename didukung. Perubahan skema lainnya, misalnya menambahkan properti yang diperluas, tidak didukung. Operasi SQL Server 2016 (13.x): ALTER TABLE dan ALTER PROCEDURE didukung. Perubahan skema lainnya, termasuk sp_rename, tidak didukung. SQL Server 2014 (12.x): perubahan skema tidak didukung. Untuk mengubah definisi tabel yang dioptimalkan memori atau prosedur tersimpan yang dikompilasi secara asli, pertama-tama letakkan objek lalu buat ulang dengan definisi yang diinginkan. |
Operasi | POTONG TABEL | Operasi TRUNCATE tidak didukung untuk tabel yang dioptimalkan memori. Untuk menghapus semua baris dari tabel, hapus semua baris menggunakan tabel DELETE FROM atau jatuhkan dan buat ulang tabel. |
Operasi | ALTER AUTHORIZATION | 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 | ALTER SCHEMA | Mentransfer tabel yang ada atau prosedur tersimpan yang dikompilasi secara asli ke skema lain tidak didukung. Jatuhkan dan buat ulang objek untuk ditransfer antar skema. |
Operasi | DBCC CHECKTABLE | DBCC CHECKTABLE tidak didukung dengan tabel yang dioptimalkan memori. Untuk memverifikasi integritas file titik pemeriksaan pada disk, lakukan pencadangan grup file MEMORY_OPTIMIZED_DATA. |
Fitur | ANSI_PADDING NONAKTIF | Opsi sesi ANSI_PADDING harus AKTIF saat membuat tabel yang dioptimalkan memori atau prosedur tersimpan yang dikompilasi secara asli. Jalankan SET ANSI_PADDING AKTIF sebelum menjalankan pernyataan CREATE. |
Opsi | DATA_COMPRESSION | 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. |
Operasi | Tabel yang dioptimalkan memori sebagai target MERGE | Tabel yang dioptimalkan memori tidak dapat menjadi target operasi MERGE . Gunakan pernyataan INSERT, UPDATE, dan DELETE sebagai gantinya. |
Indeks pada Tabel yang Dioptimalkan Memori
Tabel berikut mencantumkan fitur dan kata kunci Transact-SQL yang dapat muncul dalam teks pesan kesalahan yang melibatkan indeks pada tabel yang dioptimalkan memori, serta tindakan korektif untuk mengatasi kesalahan.
Jenis | Nama | Resolusi |
---|---|---|
Fitur | Indeks yang difilter | Indeks yang difilter tidak didukung dengan tabel yang dioptimalkan memori. Hilangkan klausa WHERE dari spesifikasi indeks. |
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 | DROP INDEX | Menghilangkan indeks pada tabel yang dioptimalkan memori tidak didukung. Anda dapat menghapus indeks menggunakan ALTER TABLE. Untuk informasi selengkapnya, lihat Mengubah Tabel yang Dioptimalkan Memori. |
Opsi indeks | Opsi indeks | Hanya satu opsi indeks yang didukung - BUCKET_COUNT untuk indeks HASH. |
Indeks Hash Nonclustered
Tabel berikut mencantumkan fitur dan kata kunci Transact-SQL yang dapat muncul dalam teks pesan kesalahan yang melibatkan indeks hash non-kluster, serta tindakan korektif untuk mengatasi kesalahan.
Jenis | 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 dan Fungsi yang Ditentukan Pengguna
Tabel berikut mencantumkan fitur dan kata kunci Transact-SQL yang dapat muncul dalam teks pesan kesalahan yang melibatkan prosedur tersimpan yang dikompilasi secara asli dan fungsi yang ditentukan pengguna, serta tindakan korektif untuk mengatasi kesalahan.
Jenis | Fitur | Resolusi |
---|---|---|
Fitur | Variabel tabel sebaris | Jenis tabel tidak dapat dideklarasikan sebaris dengan deklarasi variabel. Jenis tabel harus dinyatakan secara eksplisit menggunakan pernyataan CREATE TYPE . |
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 Transact-SQL EXECUTE, 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 | Default parameter non-konstan | Saat menggunakan nilai default dengan parameter pada prosedur tersimpan yang dikompilasi secara asli, nilai harus konstanta. Hapus kartubebas apa pun dari deklarasi parameter. |
Fitur | EKSTERNAL | Prosedur tersimpan CLR tidak dapat dikompilasi secara asli. 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 pernyataan CREATE PROCEDURE. |
Fitur | INSERT multi-baris ... Pernyataan VALUES | Tidak dapat menyisipkan beberapa baris menggunakan pernyataan INSERT yang sama dalam prosedur tersimpan yang dikompilasi secara asli. Buat pernyataan INSERT 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 | COMPUTE | Klausa COMPUTE tidak didukung. Hapus dari kueri. |
Fitur | SELECT INTO | Klausa INTO tidak didukung dengan pernyataan SELECT . Tulis ulang kueri sebagai INSERT INTO Table SELECT. |
Fitur | daftar sisipkan kolom tidak lengkap | Secara umum, dalam nilai pernyataan INSERT harus ditentukan untuk semua kolom dalam tabel. Namun, kami mendukung batasan DEFAULT dan kolom IDENTITY(1,1) pada tabel memori yang dioptimalkan. Kolom ini bisa, dan dalam kasus kolom IDENTITY harus, dihilangkan dari daftar kolom INSERT. |
Fitur | Fungsi | Beberapa fungsi bawaan tidak didukung dalam prosedur tersimpan yang dikompilasi secara asli. Hapus fungsi yang ditolak dari prosedur tersimpan. Untuk informasi selengkapnya tentang fungsi bawaan yang didukung, lihat Fitur yang Didukung untuk Modul T-SQL yang Dikompilasi Secara Asli, atau Prosedur Tersimpan yang Dikompilasi Secara Asli. |
Fitur | CASE | Berlaku untuk: SQL Server 2014 (12.x) dan SQL Server memulai SQL Server 2016 (13.x) Ekspresi CASE tidak didukung dalam kueri di dalam prosedur tersimpan yang dikompilasi secara asli. Buat kueri untuk setiap kasus. Untuk informasi selengkapnya, lihat Menerapkan Ekspresi CASE dalam Prosedur Tersimpan yang Dikompilasi Secara Asli. Azure SQL Database dan SQL Server yang memulai SQL Server 2017 (14.x) mendukung ekspresi CASE. |
Fitur | SISIPKAN EKSEKUSI | Hapus referensi. |
Fitur | EXECUTE | Hanya didukung untuk menjalankan prosedur tersimpan yang dikompilasi secara asli dan fungsi yang ditentukan pengguna. |
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 | telusuri metadata mode | Prosedur tersimpan yang dikompilasi secara asli tidak mendukung metadata mode telusur. Pastikan opsi sesi NO_BROWSETABLE diatur ke NONAKTIF. |
Fitur | HAPUS dengan klausa FROM | Klausa FROM tidak didukung untuk pernyataan DELETE dengan sumber tabel dalam prosedur tersimpan yang dikompilasi secara asli. DELETE dengan klausa FROM didukung saat digunakan untuk menunjukkan tabel yang akan dihapus. |
Fitur | PERBARUI dengan klausa FROM | Klausa FROM tidak didukung untuk pernyataan UPDATE dalam prosedur tersimpan yang dikompilasi secara asli. |
Fitur | prosedur sementara | Prosedur tersimpan sementara tidak dapat dikompilasi secara asli. Buat prosedur tersimpan yang dikompilasi secara permanen secara asli atau prosedur tersimpan Transact-SQL yang ditafsirkan 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 | READ COMMITTED | TINGKAT isolasi READ COMMITTED 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 | DTC | Tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi secara asli tidak dapat diakses dari transaksi terdistribusi. Gunakan transaksi SQL sebagai gantinya. |
Fitur | JALANKAN DENGAN KOMPILASI ULANG | Opsi WITH RECOMPILE tidak didukung untuk prosedur tersimpan yang dikompilasi secara asli. |
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 | titik simpan | Prosedur tersimpan yang dikompilasi secara asli tidak dapat dipanggil dari transaksi yang memiliki titik penyimpanan aktif. Hapus titik penyimpanan dari transaksi. |
Operasi | ALTER AUTHORIZATION | 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. |
Operator | OPENROWSET | Operator ini tidak didukung. Hapus OPENROWSET dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | OPENQUERY | Operator ini tidak didukung. Hapus OPENQUERY dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | Lihat OPENDATASOURCE | Operator ini tidak didukung. Hapus OPENDATASOURCE dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | OPENXML | Operator ini tidak didukung. Hapus OPENXML dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | CONTAINSTABLE | Operator ini tidak didukung. Hapus CONTAINSTABLE dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | 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. |
Operator | CHANGETABLE | Operator ini tidak didukung. Hapus CHANGETABLE dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | GOTO | Operator ini tidak didukung. Gunakan konstruksi prosedural lainnya seperti WHILE. |
Operator | OFFSET | Operator ini tidak didukung. Hapus OFFSET dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | PERPOTONGAN | 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. |
Operator | KECUALI | Operator ini tidak didukung. Hapus EXCEPT dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | APPLY | Berlaku untuk: SQL Server 2014 (12.x) dan SQL Server memulai SQL Server 2016 (13.x) Operator ini tidak didukung. Hapus APPLY dari prosedur tersimpan yang dikompilasi secara asli. Azure SQL Database dan SQL Server yang memulai SQL Server 2017 (14.x) mendukung operator APPLY dalam modul yang dikompilasi secara asli. |
Operator | PIVOT | Operator ini tidak didukung. Hapus PIVOT dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | UNPIVOT | Operator ini tidak didukung. Hapus UNPIVOT dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | BERISI | Operator ini tidak didukung. Hapus CONTAINS dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | TEKS BEBAS | Operator ini tidak didukung. Hapus FREETEXT dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | TSEQUAL | Operator ini tidak didukung. Hapus TSEQUAL dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | LIKE | Operator ini tidak didukung. Hapus LIKE dari prosedur tersimpan yang dikompilasi secara asli. |
Operator | VALUE SELANJUTNYA 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 yang Dioptimalkan Memori. |
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 atom 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. Hapus RECOMPILE dari definisi prosedur. Anda dapat menjalankan sp_recompile pada prosedur tersimpan yang dikompilasi secara asli, yang menyebabkannya kompilasi ulang pada eksekusi berikutnya. |
Opsi | ENKRIPSI | Opsi ini tidak didukung. Hapus ENKRIPSI dari definisi prosedur. |
Opsi | UNTUK REPLIKASI | Prosedur tersimpan yang dikompilasi secara asli tidak dapat dibuat untuk replikasi. Dihapus UNTUK REPLIKASI dari definisi prosedur. |
Opsi | UNTUK XML | Opsi ini tidak didukung. Hapus FOR XML dari prosedur tersimpan yang dikompilasi secara asli. |
Opsi | UNTUK MENELUSURI | Opsi ini tidak didukung. Hapus UNTUK TELUSURI 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 | PERCENT | Opsi ini tidak didukung dengan klausa TOP . Hapus PERCENT dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. |
Opsi | DENGAN IKATAN | Berlaku untuk: SQL Server 2014 (12.x) dan SQL Server 2016 (13.x) Opsi ini tidak didukung dengan klausa TOP . Hapus WITH TIES dari kueri dalam prosedur tersimpan yang dikompilasi secara asli. Azure SQL Database dan SQL Server yang memulai SQL Server 2017 (14.x) mendukung TOP WITH TIES. |
Fungsi agregat | Fungsi agregat | Tidak semua fungsi agregat didukung. Untuk informasi selengkapnya tentang fungsi agregat yang didukung dalam modul T-SQL yang dikompilasi secara asli, lihat Fitur yang Didukung untuk Modul T-SQL yang Dikompilasi Secara Asli. |
Fungsi peringkat | Fungsi peringkat | Fungsi peringkat tidak didukung dalam prosedur tersimpan yang dikompilasi secara asli. Hapus dari definisi prosedur. |
Fungsi | Fungsi | Fungsi ini tidak didukung. Untuk informasi selengkapnya tentang fungsi yang didukung dalam modul T-SQL yang dikompilasi secara asli, lihat Fitur yang Didukung untuk Modul T-SQL yang Dikompilasi Secara Asli. |
Pernyataan | Pernyataan | Pernyataan ini tidak didukung. Untuk informasi selengkapnya tentang fungsi yang didukung dalam modul T-SQL yang dikompilasi secara asli, lihat Fitur yang Didukung untuk Modul T-SQL yang Dikompilasi Secara Asli. |
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 | 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 | ROLLUP | ROLLUP tidak dapat digunakan dengan klausa GROUP BY dalam prosedur tersimpan yang dikompilasi secara asli. Hapus ROLLUP dari definisi prosedur. |
Fitur | CUBE | CUBE tidak dapat digunakan dengan klausul GROUP BY dalam prosedur tersimpan yang dikompilasi secara asli. Hapus CUBE dari definisi prosedur. |
Fitur | GROUPING SETS | GROUPING SETS tidak dapat digunakan dengan klausul GROUP BY dalam prosedur tersimpan yang dikompilasi secara asli. 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 jenis tabel yang dioptimalkan memori dan menggunakan jenis tersebut untuk deklarasi variabel, daripada menentukan jenis sebaris. |
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 | Tampilan | Tampilan tidak dapat diakses dari prosedur tersimpan yang dikompilasi secara asli. Alih-alih tampilan, referensikan tabel dasar yang mendasar. |
Fitur | Fungsi Tabel bernilai | Berlaku untuk: Azure SQL Database dan SQL Server memulai SQL Server 2016 (13.x) Fungsi bernilai tabel multi-pernyataan tidak dapat diakses dari modul T-SQL yang dikompilasi secara asli. Fungsi bernilai tabel sebaris didukung, tetapi harus dibuat DENGAN NATIVE_COMPILATION. Berlaku untuk: SQL Server 2014 (12.x) Fungsi bernilai tabel tidak dapat dirujuk dari modul T-SQL yang dikompilasi secara asli. |
Opsi | CETAK | Hapus referensi |
Fitur | DDL | Tidak ada DDL yang didukung di dalam modul T-SQL yang dikompilasi secara asli. |
Opsi | XML STATISTIK | Tidak didukung. Saat Anda menjalankan kueri, dengan XML STATISTIK diaktifkan, konten XML dikembalikan tanpa bagian untuk prosedur tersimpan yang dikompilasi secara asli. |
Transaksi yang Mengakses Tabel yang Dioptimalkan Memori
Tabel berikut mencantumkan fitur dan kata kunci Transact-SQL yang dapat muncul dalam teks pesan kesalahan yang melibatkan transaksi yang mengakses tabel yang dioptimalkan memori, serta tindakan korektif untuk mengatasi kesalahan.
Jenis | 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 mengikat sesi sebelum menjalankan prosedur. |
Fitur | DTC | Transaksi yang mengakses tabel yang dioptimalkan memori tidak dapat didistribusikan transaksi. |