Sdílet prostřednictvím


Transact-SQL konstrukty, které In-Memory OLTP nepodporuje

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Tabulky optimalizované pro paměť, nativně zkompilované uložené procedury a uživatelem definované funkce nepodporují úplnou Transact-SQL povrchovou oblast podporovanou tabulkami založenými na disku, interpretovanými Transact-SQL uloženými procedurami a uživatelem definovanými funkcemi. Při pokusu o použití některé z nepodporovaných funkcí server vrátí chybu.

Text chybové zprávy uvádí typ příkazu Transact-SQL (funkce, operace, možnost, například) a také název funkce nebo Transact-SQL klíčové slovo. Většina nepodporovaných funkcí vrátí chybu 10794 s textem chybové zprávy označující nepodporovanou funkci. V následujících tabulkách jsou uvedeny funkce Transact-SQL a klíčová slova, která se můžou zobrazit v textu chybové zprávy, a také opravnou akci k vyřešení chyby.

Další informace o podporovaných funkcích s tabulkami optimalizovanými pro paměť a nativně zkompilovanými uloženými procedurami najdete v tématech:

Databáze, které používají In-Memory OLTP

V následující tabulce jsou uvedeny Transact-SQL funkce, které nejsou podporované, a klíčová slova, která se mohou zobrazit v textu zprávy o chybě týkající se In-Memory databáze OLTP. Tabulka také uvádí řešení chyby.

Typ Název Řešení
Možnost AUTO_CLOSE Možnost databáze AUTO_CLOSE=ZAPNUTO není podporována u databází, které mají skupinu souborů MEMORY_OPTIMIZED_DATA.
Možnost ATTACH_REBUILD_LOG Možnost VYTVOŘENÍ databáze ATTACH_REBUILD_LOG není podporována u databází, které mají skupinu souborů MEMORY_OPTIMIZED_DATA.
Vlastnost SNÍMEK DATABÁZE Vytváření snímků databáze není podporováno u databází, které mají skupinu souborů MEMORY_OPTIMIZED_DATA.
Vlastnost Replikace pomocí sync_method 'database snapshot' nebo 'database snapshot character' Replikace pomocí sync_method "snímek databáze" nebo znaku snímku databáze se nepodporuje u databází, které mají MEMORY_OPTIMIZED_DATA skupinu souborů.
Vlastnost DBCC CHECKDB (kontrola integrity databáze)

DBCC CHECKTABLE
DBCC CHECKDB přeskočí tabulky optimalizované pro paměť v databázi.

DBCC CHECKTABLE selže u paměťově optimalizovaných tabulek.

Paměťově optimalizované tabulky

V následující tabulce jsou uvedeny Transact-SQL funkce, které nejsou podporovány, a klíčová slova, která se mohou zobrazit v textu zprávy o chybě týkající se tabulky optimalizované pro paměť. Tabulka také uvádí řešení chyby.

Typ Název Řešení
Vlastnost ON Tabulky optimalizované pro paměť nelze umístit do schématu skupiny souborů nebo oddílu. Odeberte klauzuli ON z příkazu CREATE TABLE .

Všechny tabulky optimalizované pro paměť se mapují na skupinu souborů optimalizovaných pro paměť.
Datový typ Název datového typu Zadaný datový typ není podporován. Nahraďte typ jedním z podporovaných datových typů. Další informace naleznete v tématu Podporované datové typy pro In-Memory OLTP.
Vlastnost Počítané sloupce Platí pro: SQL Server 2014 (12.x) a SQL Server 2016 (13.x)
Počítané sloupce nejsou podporované pro tabulky optimalizované pro paměť. Odeberte vypočítané sloupce z příkazu CREATE TABLE .

Azure SQL Database a SQL Server počínaje SQL Serverem 2017 (14.x) podporují počítané sloupce v tabulkách a indexech optimalizovaných pro paměť.
Vlastnost Replication Replikace není podporována u tabulek optimalizovaných pro paměť.
Vlastnost FILESTREAM Úložiště FILESTREAM nepodporuje sloupce tabulek optimalizovaných pro paměť. Odeberte klíčové slovo FILESTREAM z definice sloupce.
Vlastnost SPARSE Sloupce tabulek optimalizovaných pro paměť nelze definovat jako SPARSE. Odeberte klíčové slovo SPARSE z definice sloupce.
Vlastnost ROWGUIDCOL Možnost ROWGUIDCOL není podporována pro sloupce tabulek optimalizovaných pro paměť. Odeberte klíčové slovo ROWGUIDCOL z definice sloupce.
Vlastnost CIZÍ KLÍČ Platí pro: Azure SQL Database a SQL Server, počínaje verzí SQL Server 2016 (13.x)
U tabulek optimalizovaných pro paměť jsou omezení cizího klíče podporována pouze pro cizí klíče odkazující na primární klíče jiných tabulek optimalizovaných pro paměť. Odeberte omezení z definice tabulky, pokud cizí klíč odkazuje na jedinečné omezení.

V SQL Serveru 2014 (12.x) nejsou u tabulek optimalizovaných pro paměť podporována omezení cizího klíče.
Vlastnost clusterovaný index Zadejte neclusterovaný index. Pokud se jedná o index primárního klíče, nezapomeňte zadat PRIMÁRNÍ KLÍČ NONCLUSTERED.
Vlastnost DDL uvnitř transakcí Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nelze vytvořit ani vynechat v kontextu transakce uživatele. Než spustíte příkaz CREATE nebo DROP, nezahajte transakci a ujistěte se, že nastavení relace IMPLICIT_TRANSACTIONS je vypnuto.
Vlastnost Spouště DDL Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nelze vytvořit ani vyhodit, pokud pro danou operaci DDL existuje aktivační událost serveru nebo databáze. Odeberte triggery serveru a databáze v příkazu CREATE/DROP TABLE a CREATE/DROP PROCEDURE.
Vlastnost OZNÁMENÍ UDÁLOSTI Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nelze vytvořit ani vyhodit, pokud pro danou operaci DDL existuje oznámení o událostech serveru nebo databáze. Odeberte oznámení serverových a databázových událostí pro CREATE TABLE nebo DROP TABLE a CREATE PROCEDURE nebo DROP PROCEDURE.
Vlastnost FileTable Tabulky optimalizované pro paměť nelze vytvořit jako tabulky souborů. Odebrání argumentu AS FileTable z příkazu CREATE TABLE
Operation Aktualizace sloupců primárního klíče Sloupce primárního klíče v tabulkách a typech tabulek optimalizovaných pro paměť nelze aktualizovat. Pokud je potřeba aktualizovat primární klíč, odstraňte starý řádek a vložte nový řádek s aktualizovaným primárním klíčem.
Operation Vytvořit index Indexy v tabulkách optimalizovaných pro paměť musí být určeny přímo v příkazu CREATE TABLE nebo příkazem ALTER TABLE.
Operation VYTVOŘIT FULLTEXTOVÝ INDEX Fulltextové indexy nejsou podporovány pro tabulky optimalizované pro paměť.
Operation Změna schématu Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nepodporují určité změny schématu:
Azure SQL Database a SQL Server počínaje verzí SQL Server 2017 (14.x) podporují operace ALTER TABLE, ALTER PROCEDURE a sp_rename. Jiné změny schématu, například přidání rozšířených vlastností, nejsou podporovány.

Sql Server 2016 (13.x): Podporují se operace ALTER TABLE a ALTER PROCEDURE. Jiné změny schématu, včetně sp_rename, nejsou podporovány.

SQL Server 2014 (12.x): Změny schématu se nepodporují. Pokud chcete změnit definici tabulky optimalizované pro paměť nebo nativně zkompilovanou uloženou proceduru, nejprve odstraňte objekt a pak ho znovu vytvořte s požadovanou definicí.
Operation TRUNCATE TABLE Operace TRUNCATE není podporována pro tabulky optimalizované pro paměť. Pokud chcete odebrat všechny řádky z tabulky, použijte DELETE FROMtable nebo danou tabulku zrušte a znovu vytvořte.
Operation ALTER AUTHORIZATION Změna vlastníka existující tabulky optimalizované pro paměť nebo nativně zkompilované uložené procedury není podporována. Přetažením a opětovnou vytvoření tabulky nebo procedury můžete změnit vlastnictví.
Operation ALTER SCHEMA Přenos existující tabulky nebo nativně zkompilované uložené procedury do jiného schématu se nepodporuje. Odstraňte a znovu vytvořte objekt pro přenos mezi schématy.
Operation DBCC CHECKTABLE Příkaz DBCC CHECKTABLE není podporován pro tabulky optimalizované pro paměť. Pokud chcete ověřit integritu souborů kontrolního bodu na disku, proveďte zálohu skupiny souborů MEMORY_OPTIMIZED_DATA.
Vlastnost ANSI_PADDING VYPNUTO Možnost relace ANSI_PADDING musí být zapnutá při vytváření tabulek optimalizovaných pro paměť nebo nativně zkompilovaných uložených procedur. Před spuštěním příkazu CREATE spusťte příkaz SET ANSI_PADDING ON .
Možnost DATA_COMPRESSION Komprese dat není podporována pro tabulky optimalizované pro paměť. Odstraňte volbu z definice tabulky.
Vlastnost DTC Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nelze přistupovat v rámci distribuovaných transakcí. Místo toho použijte transakce SQL.
Operation Tabulky optimalizované pro paměť jako cíl funkce MERGE Tabulky optimalizované pro paměť nemohou být cílem operace MERGE . Místo toho použijte příkazy INSERT, UPDATE a DELETE .

Indexy v pamatově optimalizovaných tabulkách

V následující tabulce jsou uvedeny Transact-SQL funkce a klíčová slova, která se můžou zobrazit v textu zprávy chyby týkající se indexu v tabulce optimalizované pro paměť, a také nápravnou akci k vyřešení chyby.

Typ Název Řešení
Vlastnost Filtrovaný index Filtrované indexy nejsou podporovány v tabulkách optimalizovaných pro paměť. Vynecháte klauzuli WHERE ze specifikace indexu.
Vlastnost Zahrnuté sloupce Zadání zahrnutých sloupců není nezbytné pro tabulky optimalizované pro paměť. Všechny sloupce tabulky optimalizované pro paměť jsou implicitně zahrnuty do každého indexu optimalizovaného pro paměť.
Operation DROP INDEX Vyřazení indexů u tabulek optimalizovaných pro paměť se nepodporuje. Indexy můžete odstranit pomocí funkce ALTER TABLE.

Další informace viz Úprava pamětí optimalizovaných tabulek.
Možnost indexu Možnost indexu Podporuje se pouze jedna možnost indexu – BUCKET_COUNT pro indexy HASH.

Neclusterované indexy hash

Následující tabulka uvádí Transact-SQL funkce a klíčová slova, která se mohou objevit v textu zprávy chyby zahrnující neclusterovaný index hash, a také nápravnou akci k vyřešení chyby.

Typ Název Řešení
Možnost ASC/DESC Neklasrované hash indexy nejsou uspořádané. Odeberte klíčová slova ASC a DESC ze specifikace klíče indexu.

Nativně zkompilované uložené procedury a uživatelem definované funkce

V následující tabulce jsou uvedeny Transact-SQL funkce a klíčová slova, která se mohou objevit v textu zprávy chyby zahrnující nativně zkompilované uložené procedury a uživatelem definované funkce, a také nápravnou akci k vyřešení chyby.

Typ Vlastnost Řešení
Vlastnost Řádkové proměnné tabulky Typy tabulek nelze deklarovat jako inline s deklaracemi proměnných. Typy tabulek musí být deklarovány explicitně pomocí příkazu CREATE TYPE .
Vlastnost Cursors Kurzory nejsou podporovány v nebo v nativně kompilovaných uložených procedurách.

Při provádění procedury z klienta místo rozhraní API kurzoru použijte RPC. U rozhraní ODBC nepoužívejte příkaz Transact-SQL EXECUTE, místo toho zadejte název procedury přímo.

Při provádění procedury z Transact-SQL dávky nebo jiné uložené procedury nepoužívejte kurzor s nativně zkompilovanou uloženou procedurou.

Při vytváření nativně kompilované uložené procedury místo použití kurzoru použijte logiku založenou na sadě nebo smyčku WHILE .
Vlastnost Výchozí hodnoty parametrů, které nejsou konstantní Při použití výchozích hodnot s parametry nativně zkompilovaných uložených procedur musí být hodnoty konstanty. Odeberte z deklarací parametrů všechny zástupné znaky.
Vlastnost EXTERNAL Uložené procedury CLR nelze nativně zkompilovat. Buď odeberte klauzuli AS EXTERNAL, nebo možnost NATIVE_COMPILATION z příkazu CREATE PROCEDURE.
Vlastnost Číslované uložené procedury Nativně zkompilované uložené procedury nelze očíslovat. Odeberte ;číslo z příkazu CREATE PROCEDURE .
Vlastnost víceřádkové příkazy INSERT ... VALUES Nelze vložit více řádků pomocí stejného příkazu INSERT v nativně zkompilované uložené procedurě. Vytvořte příkazy INSERT pro každý řádek.
Vlastnost Běžné výrazy tabulek (CTE) Běžné výrazy tabulek (CTE) nejsou v nativně kompilovaných uložených procedurách podporované. Přepište dotaz.
Vlastnost VÝPOČET Klauzule COMPUTE není podporována. Odeberte ho z dotazu.
Vlastnost SELECT INTO (SQL příkaz) Klauzule INTO není podporována příkazem SELECT . Přepište dotaz jako INSERT INTOTableSELECT.
Vlastnost neúplný seznam sloupců pro vložení Obecně platí, že hodnoty příkazů INSERT musí být zadány pro všechny sloupce v tabulce.

Podporujeme však výchozí omezení a sloupce IDENTITY (1,1) u tabulek optimalizovaných pro paměť. Tyto sloupce mohou být a v případě sloupců IDENTITY musí být vynechány ze seznamu sloupců INSERT.
Vlastnost Function Některé předdefinované funkce nejsou v nativně kompilovaných uložených procedurách podporovány. Odeberte odmítnutou funkci z uložené procedury. Další informace o podporovaných vestavěných funkcích naleznete zde
Podporované funkce pro nativně kompilované moduly T-SQL nebo
Nativně zkompilované uložené procedury.
Vlastnost CASE Platí pro: SQL Server 2014 (12.x) a SQL Server počínaje SQL Serverem 2016 (13.x)
Výrazy CASE nejsou podporovány v dotazech uvnitř nativně zkompilovaných uložených procedur. Vytvářejte dotazy pro každý případ. Další informace naleznete v tématu Implementace výrazu CASE v nativně zkompilované uložené procedury.

Azure SQL Database a SQL Server počínaje SQL Serverem 2017 (14.x) podporují výrazy CASE.
Vlastnost VLOŽIT SPUSTIT Odeberte odkaz.
Vlastnost EXECUTE Podporuje se pouze spouštění nativně zkompilovaných uložených procedur a uživatelem definovaných funkcí.
Vlastnost uživatelem definované agregace Agregační funkce definované uživatelem nelze použít v nativně kompilovaných uložených procedurách. Odeberte odkaz na funkci z procedury.
Vlastnost metadata režimu procházení Nativně zkompilované uložené procedury nepodporují metadata režimu procházení. Ujistěte se, že je možnost relace NO_BROWSETABLE nastavena na VYPNUTO.
Vlastnost DELETE s použitím klauzule FROM Klauzule FROM není podporována pro příkazy DELETE se zdrojem tabulky v nativně zkompilovaných uložených procedurách.

DELETE s klauzulí FROM se podporuje, když se používá k označení tabulky, ze které se má odstranit.
Vlastnost UPDATE s příkazem FROM Klauzule FROM není podporována pro příkazy UPDATE v nativně zkompilovaných uložených procedurách.
Vlastnost dočasných postupů Dočasné uložené procedury nelze nativně zkompilovat. Buď vytvořte trvale kompilovanou uloženou proceduru nebo dočasnou interpretovanou Transact-SQL uloženou proceduru.
Úroveň izolace ČTENÍ NEPOTVRZENÉ U nativně kompilovaných uložených procedur není podporována úroveň izolace READ UNCOMMITTED. Použijte podporovanou úroveň izolace, například SNAPSHOT.
Úroveň izolace PŘEČTENO POTVRZENO Úroveň izolace READ COMMITTED není podporována pro nativně zkompilované uložené procedury. Použijte podporovanou úroveň izolace, například SNAPSHOT.
Vlastnost dočasné tabulky Tabulky v databázi tempdb nelze použít v nativně zkompilovaných uložených procedurách. Místo toho použijte proměnnou tabulky nebo tabulku optimalizovanou pro paměť s DURABILITY=SCHEMA_ONLY.
Vlastnost DTC Tabulky optimalizované pro paměť a nativně zkompilované uložené procedury nelze používat v rámci distribuovaných transakcí. Místo toho použijte transakce SQL.
Vlastnost SPUŠTĚNÍ POMOCÍ REKOMPILU Možnost WITH RECOMPILE není podporována pro nativně zkompilované uložené procedury.
Vlastnost Provádění z vyhrazeného připojení správce. Nativně zkompilované uložené procedury nelze spustit z vyhrazeného připojení správce (DAC). Místo toho použijte běžné připojení.
Operation savepoint Nativně zkompilované uložené procedury nelze vyvolat z transakcí, které mají aktivní savepoint. Odeberte bod uložení z transakce.
Operation ZMĚNIT AUTORIZACI Změna vlastníka existující tabulky optimalizované pro paměť nebo nativně zkompilované uložené procedury není podporována. Smazáním a znovuvytvořením tabulky nebo procedury změníte vlastnictví.
Operator OPENROWSET Tento operátor není podporován. Odeberte OPENROWSET z nativně zkompilované uložené procedury.
Operator OPENQUERY Tento operátor není podporován. Odeberte OPENQUERY z nativně zkompilované uložené procedury.
Operator OPENDATASOURCE Tento operátor není podporován. Odeberte OPENDATASOURCE z nativně zkompilované uložené procedury.
Operator OPENXML Tento operátor není podporován. Odeberte OPENXML z nativně zkompilované uložené procedury.
Operator CONTAINSTABLE Tento operátor není podporován. Odeberte CONTAINSTABLE z nativně zkompilované uložené procedury.
Operator FREETEXTTABLE Tento operátor není podporován. Odeberte FREETEXTTABLE z nativně zkompilované uložené procedury.
Vlastnost tabulkové funkce Na funkce s hodnotou tabulky nelze odkazovat z nativně zkompilovaných uložených procedur. Jedním z možných způsobů, jak obejít toto omezení, je přidat logiku z tabulkových funkcí do těla procedury.
Operator CHANGETABLE Tento operátor není podporován. Odeberte CHANGETABLE z nativně zkompilované uložené procedury.
Operator GOTO Tento operátor není podporován. Použijte jiné procedurální konstrukce, jako je NAPŘÍKLAD WHILE.
Operator POSUN Tento operátor není podporován. Odstraňte OFFSET z nativně zkompilované uložené procedury.
Operator INTERSECT Tento operátor není podporován. Odeberte interSECT z nativně zkompilované uložené procedury. V některých případech lze k získání stejného výsledku použít inner JOIN.
Operator EXCEPT Tento operátor není podporován. Odeberte z nativně zkompilované uložené procedury EXCEPT.
Operator APPLY Platí pro: SQL Server 2014 (12.x) a SQL Server od verze 2016 (13.x)
Tento operátor není podporován. Odeberte apply z nativně zkompilované uložené procedury.

Azure SQL Database a SQL Server počínaje SQL Serverem 2017 (14.x) podporují operátor APPLY v nativně kompilovaných modulech.
Operator ČEP Tento operátor není podporován. Odeberte PIVOT z uložené procedury kompilované nativně.
Operator UNPIVOT Tento operátor není podporován. Odeberte objekt UNPIVOT z nativně zkompilované uložené procedury.
Operator OBSAHUJE Tento operátor není podporován. Odeberte CONTAINS z nativně zkompilované uložené procedury.
Operator FREETEXT Tento operátor není podporován. Z nativně zkompilované uložené procedury odeberte FREETEXT.
Operator TSEQUAL Tento operátor není podporován. Odeberte TSEQUAL z nativně zkompilované uložené procedury.
Operator LIKE Tento operátor není podporován. Odeberte LIKE z nativně zkompilované uložené procedury.
Operator DALŠÍ HODNOTA PRO Na sekvence nelze odkazovat uvnitř nativně zkompilovaných uložených procedur. Získejte hodnotu pomocí interpretovaného jazyka Transact-SQL a pak ji předejte do nativně zkompilované uložené procedury. Další informace naleznete v tématu Implementace IDENTITY v paměťově optimalizované tabulce.
Nastavit možnost možnost Možnosti SET nelze změnit uvnitř nativně kompilovaných uložených procedur. Některé možnosti lze nastavit pomocí příkazu BEGIN ATOMIC. Další informace najdete v části o atomických blocích v nativně zkompilovaných uložených procedurách.
Operand TABLESAMPLE Tento operátor není podporován. Odeberte TABLESAMPLE z nativně zkompilované uložené procedury.
Možnost RECOMPILE Nativně kompilované uložené procedury se kompilují při vytváření. Odeberte RECOMPILE z definice procedury.

Můžete spustit sp_recompile na nativně zkompilované uložené procedury, což způsobí, že se při dalším spuštění znovu zkompiluje.
Možnost ŠIFROVÁNÍ Tato možnost není podporována. Odeberte šifrování z definice procedury.
Možnost PRO REPLIKACI Nativně zkompilované uložené procedury nelze vytvořit pro replikaci. Byla odebrána funkce FOR REPLICATION z definice procedury.
Možnost FOR XML (příkaz používaný pro generování výstupu ve formátu XML) Tato možnost není podporována. Odeberte FOR XML z nativně zkompilované uložené procedury.
Možnost PRO PROHLÍŽENÍ Tato možnost není podporována. Odeberte FOR BROWSE z nativně zkompilované uložené procedury.
Připojit se k nápovědě HASH, MERGE Nativně zkompilované uložené procedury podporují pouze vnořené smyčkové spojení. Spojení typu hash a sloučení nejsou podporována. Odeberte pomůcku ke spojování.
Nápověda k dotazu Nápověda k dotazům Tento tip dotazu není uvnitř nativně kompilovaných uložených procedur. Podporované nápovědy k dotazům najdete v nápovědě k dotazům (Transact-SQL).
Možnost PERCENT Tato možnost není podporována u klauzulí TOP . Z dotazu v nativně zkompilované uložené proceduře odeberte percent .
Možnost S KRAVATAMI Platí pro: SQL Server 2014 (12.x) a SQL Server 2016 (13.x)
Tato možnost není podporována u klauzulí TOP . Odstraňte WITH TIES z dotazu v nativně zkompilované uložené proceduře.

Azure SQL Database a SQL Server počínaje SQL Serverem 2017 (14.x) podporují TOP WITH TIES.
Agregační funkce Agregační funkce Nepodporují se všechny agregační funkce. Další informace o podporovaných agregačních funkcích v nativně kompilovaných modulech T-SQL naleznete v tématu Podporované funkce pro nativně kompilované moduly T-SQL.
Seřazovací funkce Hodnotící funkce Funkce řazení nejsou podporovány v nativně kompilovaných uložených procedurách. Odeberte je z definice procedury.
Funkce Function Tato funkce není podporována. Další informace o podporovaných funkcích v nativně kompilovaných modulech T-SQL naleznete v tématu Podporované funkce pro nativně kompilované moduly T-SQL.
Statement prohlášení Tento příkaz není podporován. Další informace o podporovaných funkcích v nativně kompilovaných modulech T-SQL naleznete v tématu Podporované funkce pro nativně kompilované moduly T-SQL.
Vlastnost MIN a MAX používané s binárními a znakovými řetězci Agregační funkce MIN a MAX nelze použít pro hodnoty znaků a binárních řetězců uvnitř nativně zkompilovaných uložených procedur.
Vlastnost SESKUPOVAT PODLE VŠECH Funkce ALL se nedá použít s GROUP BY klauzulí v uložených procedurách nativně zkompilovaných. Remove ALL z klauzule GROUP BY.
Vlastnost SKUPINA PODLE () Seskupení podle prázdného seznamu není podporováno. Buď odeberte klauzuli GROUP BY, nebo do seznamu seskupení zahrňte sloupce.
Vlastnost ROLLUP Funkci ROLLUP nelze použít s klauzulemi GROUP BY v nativně kompilovaných uložených procedurách. Odeberte ROLLUP z definice procedury.
Vlastnost CUBE Funkce CUBE se nedá použít s klauzulemi GROUP BY v nativně kompilovaných uložených procedurách. Odeberte CUBE z definice procedury.
Vlastnost SADY SESKUPENÍ SESKUPOVACÍ SADY nelze použít s klauzulí GROUP BY v nativně kompilovaných uložených procedurách. Odstraňte SADY SESKUPENÍ z definice procedury.
Vlastnost ZAHÁJENÍ TRANSAKCE, POTVRZENÍ TRANSAKCE A VRÁCENÍ TRANSAKCE ZPĚT K řízení transakcí a zpracování chyb použijte bloky ATOMIC. Další informace naleznete v tématu Atomové bloky.
Vlastnost Deklarace vložené proměnné tabulky Proměnné tabulky musí odkazovat na explicitně definované typy tabulek optimalizovaných pro paměť. Měli byste vytvořit typ tabulky optimalizovaný pro paměť a použít tento typ pro deklaraci proměnné, spíše než zadávat typ přímo.
Vlastnost Diskové tabulky K tabulkám založeným na disku nelze přistupovat z nativně zkompilovaných uložených procedur. Odstraňte odkazy na tabulky založené na disku z nativně zkompilovaných uložených procedur. Nebo migrujte tabulky založené na disku do optimalizované paměti.
Vlastnost Views K zobrazením nelze přistupovat z nativně zkompilovaných uložených procedur. Místo zobrazení odkazujte na podkladové základní tabulky.
Vlastnost Funkce s tabelárními hodnotami Platí pro: Azure SQL Database a SQL Server od verze SQL Server 2016 (13.x)
Vícepříkazové funkce vracející tabulku nelze použít z nativně kompilovaných modulů T-SQL. Vložené funkce vracející hodnotu tabulky jsou podporované, ale musí být vytvořeny pomocí NATIVE_COMPILATION.

Platí pro: SQL Server 2014 (12.x)
Na funkce s hodnotou tabulky nelze odkazovat z nativně zkompilovaných modulů T-SQL.
Možnost PRINT Odebrat odkaz
Vlastnost DDL V nativně kompilovaných modulech T-SQL se nepodporuje žádný DDL.
Možnost STATISTIKY XML Není podporováno. Když spustíte dotaz s povolenou funkcí STATISTICS XML, vrátí se obsah XML bez části pro nativně zkompilovanou uloženou proceduru.

Transakce, které přistupují k paměťově optimalizovaným tabulkám

V následující tabulce jsou uvedeny Transact-SQL funkce a klíčová slova, která se mohou objevit v textu zprávy chyby zahrnující transakce, které přistupují k tabulkám optimalizovaným pro paměť, a také nápravná akce k vyřešení chyby.

Typ Název Řešení
Vlastnost bod obnovení Vytváření explicitních bodů ukládání v transakcích, které přistupují k tabulkám optimalizovaným pro paměť, se nepodporuje.
Vlastnost vázaná transakce Vázané relace se nemohou účastnit transakcí, které přistupují k tabulkám optimalizovaným pro paměť. Nepřiřazujte relaci před provedením procedury.
Vlastnost DTC Transakce, které přistupují k tabulkám optimalizovaným pro paměť, nemohou být distribuovanými transakcemi.

Viz také

Migrace na In-Memory OLTP