Von In-Memory OLTP nicht unterstützte Transact-SQL-Konstrukte.

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Speicheroptimierte Tabellen, nativ kompilierte gespeicherte Prozeduren und benutzerdefinierte Funktionen unterstützen nicht den vollständigen Transact-SQL-Oberflächenbereich, der von datenträgerbasierten Tabellen unterstützt wird, interpretierte gespeicherte Transact-SQL-Prozeduren und benutzerdefinierte Funktionen. Wird versucht, eine der nicht unterstützten Funktionen zu verwenden, gibt der Server einen Fehler zurück.

Der Text der Fehlermeldung erwähnt den Typ der Transact-SQL-Anweisung (z. B. Feature, Operation, Option) und den Namen des Feature- oder Transact-SQL-Schlüsselworts. Die meisten nicht unterstützten Funktionen geben den Fehler 10794 zurück, wobei der Fehlermeldungstext die nicht unterstützte Funktion angibt. In den folgenden Tabellen sind die Transact-SQL-Features und Schlüsselwörter aufgeführt, die im Text der Fehlermeldung angezeigt werden können, sowie die Korrekturmaßnahme zum Beheben des Fehlers.

Weitere Informationen zu unterstützten Funktionen für speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren finden Sie unter:

Datenbanken, die In-Memory OLTP verwenden

In der folgenden Tabelle sind die Transact-SQL-Features aufgeführt, die nicht unterstützt werden, und die Schlüsselwörter, die im Meldungstext eines Fehlers mit einer OLTP-Datenbank im Arbeitsspeicher angezeigt werden können. In der Tabelle werden auch Hinweise zur Fehlerbehebung aufgeführt.

Typ Name Lösung
Option AUTO_CLOSE Die Datenbankoption AUTO_CLOSE=ON wird für Datenbanken, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten, nicht unterstützt.
Option ATTACH_REBUILD_LOG Die CREATE-Datenbankoption ATTACH_REBUILD_LOG wird für Datenbanken, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten, nicht unterstützt.
Feature DATABASE SNAPSHOT Das Erstellen von Datenbankmomentaufnahmen wird für Datenbanken, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten, nicht unterstützt.
Feature Replikation mithilfe der sync_method "database snapshot" oder "database snapshot character" Replikation mithilfe der sync_method "database snapshot" oder "database snapshot character" wird für Datenbanken, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten, nicht unterstützt.
Feature DBCC CHECKDB

DBCC CHECKTABLE
DBCC CHECKDB lässt die speicheroptimierten Tabellen in der Datenbank aus.

DBCC CHECKTABLE schlägt für speicheroptimierte Tabellen fehl.

Speicheroptimierte Tabellen

In der folgenden Tabelle sind die Transact-SQL-Features aufgeführt, die nicht unterstützt werden, und die Schlüsselwörter, die im Meldungstext eines Fehlers mit einer speicheroptimierten Tabelle angezeigt werden können. In der Tabelle werden auch Hinweise zur Fehlerbehebung aufgeführt.

Typ Name Lösung
Feature EIN Speicheroptimierte Tabellen können nicht in einer Dateigruppe oder einem Partitionsschema platziert werden. Entfernen Sie die ON-Klausel aus der CREATE TABLE -Anweisung.

Alle speicheroptimierten Tabellen sind speicheroptimierten Dateigruppen zugeordnet.
Datentyp Datentypname Der angegebene Datentyp wird nicht unterstützt. Ersetzen Sie den Typ durch einen der unterstützten Datentypen. Weitere Informationen finden Sie unter Unterstützte Datentypen für In-Memory OLTP.
Feature Berechnete Spalten Gilt für: SQL Server 2014 (12.x) und SQL Server 2016 (13.x)
Berechnete Spalten werden für speicheroptimierte Tabellen nicht unterstützt. Entfernen Sie die berechneten Spalten aus der CREATE TABLE -Anweisung.

Azure SQL-Datenbank und SQL Server ab SQL Server 2017 (14.x) unterstützen berechnete Spalten in speicheroptimierten Tabellen und Indizes.
Feature Replikation Replikation wird für speicheroptimierte Tabellen nicht unterstützt.
Feature FILESTREAM Die FILESTREAM-Speicherung wird für Spalten von speicheroptimierten Tabellen nicht unterstützt. Entfernen Sie das FILESTREAM -Schlüsselwort aus der Spaltendefinition.
Feature SPARSE Spalten aus speicheroptimierten Tabellen können nicht als SPARSE definiert werden. Entfernen Sie das SPARSE -Schlüsselwort aus der Spaltendefinition.
Feature ROWGUIDCOL Die ROWGUIDCOL-Option wird für Spalten von speicheroptimierten Tabellen nicht unterstützt. Entfernen Sie das ROWGUIDCOL -Schlüsselwort aus der Spaltendefinition.
Feature FOREIGN KEY Gilt für: Azure SQL-Datenbank und SQL Server ab SQL Server 2016 (13.x)
Für speicheroptimierte Tabellen werden FOREIGN KEY-Einschränkungen nur für die Fremdschlüssel unterstützt, die auf Primärschlüssel von anderen speicheroptimierten Tabellen verweisen. Entfernen Sie die Einschränkung aus der Tabellendefinition, wenn der Fremdschlüssel auf eine eindeutige Einschränkung verweist.

In SQL Server 2014 (12.x) werden FREMDSCHLÜSSELeinschränkungen mit speicheroptimierten Tabellen nicht unterstützt.
Feature Gruppierter Index Geben Sie einen nicht gruppierten Index an. Bei einem Primärschlüsselindex müssen Sie PRIMARY KEY NONCLUSTERED angeben.
Feature DDL innerhalb von Transaktionen Speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren können nicht im Rahmen einer Benutzertransaktion erstellt oder gelöscht werden. Starten Sie keine Transaktion, und vergewissern Sie sich, dass die Sitzungseinstellung IMPLICIT_TRANSACTIONS auf OFF festgelegt ist, bevor Sie die CREATE-Anweisung oder die DROP-Anweisung ausführen.
Feature DDL-Trigger Speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren können nicht erstellt oder gelöscht werden, wenn ein Server- oder Datenbanktrigger für den betreffenden DDL-Vorgang vorhanden ist. Entfernen Sie die Server- und Datenbanktrigger für CREATE/DROP TABLE und CREATE/DROP PROCEDURE.
Feature EVENT NOTIFICATION Speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren können nicht erstellt oder gelöscht werden, wenn eine Server- oder Datenbank-Ereignisbenachrichtigung für den betreffenden DDL-Vorgang vorhanden ist. Entfernen Sie die Server- und Datenbankereignisbenachrichtigungen in CREATE TABLE bzw. DROP TABLE und CREATE PROCEDURE bzw. DROP PROCEDURE.
Feature FileTable Speicheroptimierte Tabellen können nicht als File-Tabellen erstellt werden. Entfernen Sie das Argument AS FileTable aus der CREATE TABLE -Anweisung.
Vorgang Update der Primärschlüsselspalten Primärschlüsselspalten in speicheroptimierten Tabellen und Tabellentypen können nicht aktualisiert werden. Wenn der Primärschlüssel aktualisiert werden muss, löschen Sie die alte Zeile, und fügen Sie die neue Zeile mit dem aktualisierten Primärschlüssel ein.
Vorgang CREATE INDEX Indizes zu speicheroptimierten Tabellen müssen inline mit der CREATE TABLE - oder der ALTER TABLE -Anweisung angegeben werden.
Vorgang CREATE FULLTEXT INDEX Volltextindizes werden für speicheroptimierte Tabellen nicht unterstützt.
Vorgang Schemaänderung Speicheroptimierte Tabellen und nativ kompilierte gespeicherte Prozeduren unterstützen folgende Schemaänderungen nicht:
Azure SQL-Datenbank und SQL Server ab SQL Server 2017 (14.x): ALTER TABLE, ALTER PROCEDURE und sp_rename Vorgänge werden unterstützt. Andere Schemaänderungen, z.B. das Hinzufügen von erweiterten Eigenschaften, werden nicht unterstützt.

SQL Server 2016 (13.x): ALTER TABLE- und ALTER PROCEDURE-Vorgänge werden unterstützt. Andere Schemaänderungen, einschließlich sp_rename, werden nicht unterstützt.

SQL Server 2014 (12.x): Schemaänderungen werden nicht unterstützt. Wenn Sie die Definition einer speicheroptimierten Tabelle oder nativ kompilierten gespeicherten Prozedur ändern möchten, legen Sie zuerst das Objekt ab, und erstellen Sie es dann mit der gewünschten Definition neu.
Vorgang TRUNCATE TABLE Der TRUNCATE-Vorgang wird für speicheroptimierte Tabellen nicht unterstützt. Löschen Sie alle Zeilen mit DELETE FROMTabelle , oder löschen Sie die Tabelle, und erstellen Sie sie neu, um alle Zeilen aus einer Tabelle zu entfernen.
Vorgang ALTER AUTHORIZATION Das Ändern des Besitzers einer vorhandenen speicheroptimierten Tabelle oder systemintern kompilierten gespeicherten Prozedur wird nicht unterstützt. Löschen Sie die Tabelle oder die Prozedur, und erstellen Sie sie neu, um den Besitzer zu ändern.
Vorgang ALTER SCHEMA Das Übertragen einer vorhandenen Tabelle oder einer nativ kompilierten gespeicherten Prozedur in ein anderes Schema wird nicht unterstützt. Löschen Sie das Objekt, und erstellen Sie es neu, um eine Übertragung zwischen Schemas zu ermöglichen.
Vorgang DBCC CHECKTABLE DBCC CHECKTABLE wird für speicheroptimierte Tabellen nicht unterstützt. Führen Sie eine Sicherung der MEMORY_OPTIMIZED_DATA-Dateigruppe durch, um die Integrität der Prüfpunktdateien auf dem Datenträger zu überprüfen.
Feature ANSI_PADDING OFF Die ANSI_PADDING -Sitzungsoption muss beim Erstellen von speicheroptimierten Tabellen oder systemintern kompilierten gespeicherten Prozeduren auf ON festgelegt sein. Führen Sie SET ANSI_PADDING ON aus, bevor Sie die CREATE-Anweisung ausführen.
Option DATA_COMPRESSION Die Datenkomprimierung wird für speicheroptimierte Tabellen nicht unterstützt. Entfernen Sie die Option aus der Tabellendefinition.
Feature DTC Auf speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren kann nicht aus verteilten Transaktionen zugegriffen werden. Verwenden Sie stattdessen SQL-Transaktionen.
Vorgang Speicheroptimierte Tabellen als Ziel von MERGE Speicheroptimierte Tabellen können nicht das Ziel eines MERGE -Vorgangs sein. Verwenden Sie stattdessen INSERT-, UPDATE- oder DELETE-Anweisungen.

Indizes für speicheroptimierte Tabellen

In der folgenden Tabelle sind die Transact-SQL-Features und Schlüsselwörter aufgeführt, die im Meldungstext eines Fehlers angezeigt werden können, der einen Index in einer speicheroptimierten Tabelle enthält, sowie die Korrekturmaßnahme zum Beheben des Fehlers.

Typ Name Lösung
Feature Gefilterter Index Gefilterte Indizes werden nicht mit speicheroptimierten Tabellen unterstützt. Lassen Sie die WHERE -Klausel in der Indexspezifikation aus.
Feature Eingeschlossene Spalten Bei speicheroptimierten Tabellen müssen keine eingeschlossenen Spalten angegeben werden. Alle Spalten der speicheroptimierten Tabelle werden implizit in jeden speicheroptimierten Index eingeschlossen.
Vorgang DROP INDEX Das Löschen von Indizes für speicheroptimierte Tabellen wird nicht unterstützt. Sie können Indizes mithilfe von ALTER TABLE löschen.

Weitere Informationen zu speicheroptimierten Tabellen finden Sie unter Ändern von speicheroptimierten Tabellen.
Indexoption Indexoption Es wird nur eine Index-Option unterstützt, und zwar BUCKET_COUNT für Hashindizes.

Nicht gruppierte Hashindizes

In der folgenden Tabelle sind die Transact-SQL-Features und Schlüsselwörter aufgeführt, die im Meldungstext eines Fehlers angezeigt werden können, der einen nicht gruppierten Hashindex umfasst, sowie die Korrekturmaßnahme zum Beheben des Fehlers.

Typ Name Lösung
Option ASC/DESC Nicht gruppierte Hashindizes werden nicht sortiert. Entfernen Sie die Schlüsselwörter ASC und DESC aus der Indexschlüsselspezifikation.

Nativ kompilierte gespeicherte Prozeduren und benutzerdefinierte Funktionen

In der folgenden Tabelle sind die Transact-SQL-Features und Schlüsselwörter aufgeführt, die im Meldungstext eines Fehlers mit nativ kompilierten gespeicherten Prozeduren und benutzerdefinierten Funktionen sowie der Korrekturmaßnahme zum Beheben des Fehlers angezeigt werden können.

Typ Funktion Lösung
Feature Inline-Tabellenvariablen Tabellentypen können nicht inline mit Variablendeklarationen deklariert werden. Tabellentypen müssen explizit mit einer CREATE TYPE -Anweisung deklariert werden.
Feature Cursor Cursor werden nicht von oder in systemintern kompilierten gespeicherten Prozeduren unterstützt.

Wenn Sie die Prozedur von einem Client aus ausführen, verwenden Sie RPC anstelle der Cursor-API. Vermeiden Sie bei ODBC die Transact-SQL-Anweisung EXECUTE, sondern geben Sie stattdessen den Namen der Prozedur direkt an.

Vermeiden Sie beim Ausführen der Prozedur aus einem Transact-SQL-Batch oder einer anderen gespeicherten Prozedur die Verwendung eines Cursors mit der nativ kompilierten gespeicherten Prozedur.

Wenn Sie eine systemintern kompilierte gespeicherte Prozedur erstellen und keinen Cursor verwenden, verwenden Sie setbasierte Logik oder eine WHILE -Schleife.
Feature Nicht konstante Parameterstandardwerte Beim Angeben von Standardwerten für Parameter für systemintern kompilierte gespeicherte Prozeduren müssen die Werte Konstanten sein. Entfernen Sie alle Platzhalter aus den Parameterdeklarationen.
Feature EXTERNAL CLR-gespeicherte Prozeduren können nicht systemintern kompiliert werden. Entfernen Sie entweder die Klausel AS EXTERNAL oder die Option NATIVE_COMPILATIONS aus der Anweisung CREATE PROCEDURE.
Feature numbered_stored_procedures Systemintern kompilierte gespeicherte Prozeduren dürfen nicht nummeriert sein. Entfernen Sie die ;Nummer aus der CREATE PROCEDURE -Anweisung.
Feature MehrzeileN EINFÜGEN ... VALUES-Anweisungen Das Einfügen mehrerer Zeilen mit der gleichen INSERT -Anweisung in einer systemintern kompilierten gespeicherten Prozedur ist nicht möglich. Erstellen Sie INSERT -Anweisungen für jede Zeile.
Feature Allgemeine Tabellenausdrücke (CTEs) Allgemeine Tabellenausdrücke (Common Table Expressions, CTE) werden in systemintern kompilierten gespeicherten Prozeduren nicht unterstützt. Schreiben Sie die Abfrage um.
Feature COMPUTE Die COMPUTE -Klausel wird nicht unterstützt. Entfernen Sie sie aus der Abfrage.
Feature SELECT INTO Die INTO -Klausel wird mit der SELECT -Anweisung nicht unterstützt. Schreiben Sie die Abfrage als INSERT INTOTabelleSELECT neu.
Feature Unvollständige Einfügespaltenliste Generell müssen Werte in INSERT-Anweisungen für alle Spalten in der Tabelle angegeben werden.

Allerdings unterstützen wir DEFAULT-Einschränkungen und IDENTITY(1,1)-Spalten in speicheroptimierten Tabellen. Diese Spalten können in der INSERT-Spaltenliste ausgelassen werden. IDENTITY-Spalten müssen sogar ausgelassen werden.
Feature Funktion Einige integrierte Funktionen werden in nativ kompilierten gespeicherten Prozeduren nicht unterstützt. Entfernen Sie die abgelehnte Funktion aus der gespeicherten Prozedur. Weitere Informationen zu unterstützten integrierten Funktionen finden Sie unter
Unterstützte Funktionen für nativ kompilierte T-SQL-Moduleoder
Systemintern kompilierte gespeicherte Prozeduren.
Feature CASE Gilt für: SQL Server 2014 (12.x) und SQL Server ab SQL Server 2016 (13.x)
CASE-Ausdrücke werden in Abfragen innerhalb von nativ kompilierten gespeicherten Prozeduren nicht unterstützt. Erstellen Sie Abfragen für jeden einzelnen Fall. Weitere Informationen finden Sie unter Implementieren eines CASE-Ausdrucks in einer systemintern kompilierten gespeicherten Prozedur.

Azure SQL-Datenbank und SQL Server ab SQL Server 2017 (14.x) unterstützen CASE-Ausdrücke.
Feature INSERT EXECUTE Entfernen Sie den Verweis.
Feature Führen Sie Nur unterstützt, um nativ kompilierte gespeicherte Prozeduren und benutzerdefinierte Funktionen auszuführen
Feature Benutzerdefinierte Aggregate Benutzerdefinierte Aggregatfunktionen können nicht in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Entfernen Sie den Verweis auf die Funktion aus der Prozedur.
Feature Metadaten des Durchsuchenmodus Systemintern kompilierte gespeicherte Prozeduren unterstützen keine Metadaten des Durchsuchenmodus. Stellen Sie sicher, dass die NO_BROWSETABLE -Sitzungsoption auf OFF festgelegt ist.
Feature DELETE mit FROM-Klausel Die FROM -Klausel wird für DELETE -Anweisungen mit einer Tabellenquelle in systemintern kompilierten gespeicherten Prozeduren nicht unterstützt.

DELETE wird mit der FROM -Klausel unterstützt, wenn der Vorgang die Tabelle angibt, aus der Daten gelöscht werden sollen.
Feature UPDATE mit FROM-Klausel Die FROM -Klausel wird nicht für UPDATE -Anweisungen in systemintern kompilierten gespeicherten Prozeduren unterstützt.
Feature Temporäre Prozeduren Temporäre gespeicherte Prozeduren können nicht systemintern kompiliert werden. Erstellen Sie entweder eine permanente, nativ kompilierte gespeicherte Prozedur oder eine temporäre interpretierte Transact-SQL-gespeicherte Prozedur.
Isolationsstufe READ UNCOMMITTED Die Isolationsstufe READ UNCOMMITTED wird für systemintern kompilierte gespeicherte Prozeduren nicht unterstützt. Verwenden Sie eine unterstützte Isolationsstufe, beispielsweise SNAPSHOT.
Isolationsstufe READ COMMITTED Die Isolationsstufe READ COMMITTED wird für nativ kompilierte gespeicherte Prozeduren nicht unterstützt. Verwenden Sie eine unterstützte Isolationsstufe, beispielsweise SNAPSHOT.
Feature Temporäre Tabellen Tabellen in tempdb können nicht in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Verwenden Sie stattdessen eine Tabellenvariable oder eine speicheroptimierte Tabelle mit DURABILITY=SCHEMA_ONLY.
Feature DTC Auf speicheroptimierte Tabellen und systemintern kompilierte gespeicherte Prozeduren kann nicht aus verteilten Transaktionen zugegriffen werden. Verwenden Sie stattdessen SQL-Transaktionen.
Feature EXECUTE WITH RECOMPILE Die WITH RECOMPILE -Option wird für systemintern kompilierte gespeicherte Prozeduren nicht unterstützt.
Feature Ausführung von der dedizierten Administratorverbindung. Systemintern kompilierte gespeicherte Prozeduren können nicht aus der dedizierten Administratorverbindung (DAC) ausgeführt werden. Verwenden Sie stattdessen eine reguläre Verbindung.
Vorgang savepoint Systemintern kompilierte gespeicherte Prozeduren können nicht aus Transaktionen aufgerufen werden, die über einen aktiven Sicherungspunkt verfügen. Entfernen Sie den Sicherungspunkt aus der Transaktion.
Vorgang ALTER AUTHORIZATION Das Ändern des Besitzers einer vorhandenen speicheroptimierten Tabelle oder systemintern kompilierten gespeicherten Prozedur wird nicht unterstützt. Löschen Sie die Tabelle oder die Prozedur, und erstellen Sie sie neu, um den Besitzer zu ändern.
Operator OPENROWSET Dieser Operator wird nicht unterstützt. Entfernen Sie OPENROWSET aus der systemintern kompilierten gespeicherten Prozedur.
Operator OPENQUERY Dieser Operator wird nicht unterstützt. Entfernen Sie OPENQUERY aus der systemintern kompilierten gespeicherten Prozedur.
Operator OPENDATASOURCE Dieser Operator wird nicht unterstützt. Entfernen Sie OPENDATASOURCE aus der systemintern kompilierten gespeicherten Prozedur.
Operator OPENXML Dieser Operator wird nicht unterstützt. Entfernen Sie OPENXML aus der systemintern kompilierten gespeicherten Prozedur.
Operator CONTAINSTABLE Dieser Operator wird nicht unterstützt. Entfernen Sie CONTAINSTABLE aus der systemintern kompilierten gespeicherten Prozedur.
Operator FREETEXTTABLE Dieser Operator wird nicht unterstützt. Entfernen Sie FREETEXTTABLE aus der systemintern kompilierten gespeicherten Prozedur.
Feature Tabellenwertfunktionen Auf Tabellenwertfunktionen kann nicht aus systemintern kompilierten gespeicherten Prozeduren verwiesen werden. Eine mögliche Lösung für diese Einschränkung besteht darin, die Logik in den Tabellenwertfunktionen dem Prozedurtext hinzuzufügen.
Operator CHANGETABLE Dieser Operator wird nicht unterstützt. Entfernen Sie CHANGETABLE aus der systemintern kompilierten gespeicherten Prozedur.
Operator GOTO Dieser Operator wird nicht unterstützt. Verwenden Sie andere prozedurale Konstrukte wie WHILE.
Operator OFFSET Dieser Operator wird nicht unterstützt. Entfernen Sie OFFSET aus der systemintern kompilierten gespeicherten Prozedur.
Operator INTERSECT Dieser Operator wird nicht unterstützt. Entfernen Sie INTERSECT aus der systemintern kompilierten gespeicherten Prozedur. In einigen Fällen kann ein INNER JOIN verwendet werden, um dasselbe Ergebnis zu erhalten.
Operator EXCEPT Dieser Operator wird nicht unterstützt. Entfernen Sie EXCEPT aus der systemintern kompilierten gespeicherten Prozedur.
Operator APPLY Gilt für: SQL Server 2014 (12.x) und SQL Server ab SQL Server 2016 (13.x)
Dieser Operator wird nicht unterstützt. Entfernen Sie APPLY aus der systemintern kompilierten gespeicherten Prozedur.

Azure SQL-Datenbank und SQL Server ab SQL Server 2017 (14.x) unterstützen den APPLY-Operator in systemeigenen kompilierten Modulen.
Operator PIVOT Dieser Operator wird nicht unterstützt. Entfernen Sie PIVOT aus der systemintern kompilierten gespeicherten Prozedur.
Operator UNPIVOT Dieser Operator wird nicht unterstützt. Entfernen Sie UNPIVOT aus der systemintern kompilierten gespeicherten Prozedur.
Operator CONTAINS Dieser Operator wird nicht unterstützt. Entfernen Sie CONTAINS aus der systemintern kompilierten gespeicherten Prozedur.
Operator FREETEXT Dieser Operator wird nicht unterstützt. Entfernen Sie FREETEXT aus der systemintern kompilierten gespeicherten Prozedur.
Operator TSEQUAL Dieser Operator wird nicht unterstützt. Entfernen Sie TSEQUAL aus der systemintern kompilierten gespeicherten Prozedur.
Operator LIKE Dieser Operator wird nicht unterstützt. Entfernen Sie LIKE aus der systemintern kompilierten gespeicherten Prozedur.
Operator NÄCHSTER WERT FÜR In systemintern kompilierten gespeicherten Prozeduren kann nicht auf Sequenzen verwiesen werden. Rufen Sie den Wert mithilfe interpretierter Transact-SQL-Daten ab, und übergeben Sie ihn dann an die nativ kompilierte gespeicherte Prozedur. Weitere Informationen finden Sie unter Implementieren von IDENTITY in einer speicheroptimierten Tabelle.
SET-Option Option SET-Optionen können in systemintern kompilierten gespeicherten Prozeduren nicht geändert werden. Bestimmte Optionen können mit der BEGIN ATOMIC-Anweisung festgelegt werden. Weitere Informationen finden Sie im Abschnitt zu Atomblöcken in nativ kompilierten gespeicherten Prozeduren.
Operand TABLESAMPLE Dieser Operator wird nicht unterstützt. Entfernen Sie TABLESAMPLE aus der systemintern kompilierten gespeicherten Prozedur.
Option RECOMPILE Systemintern kompilierte gespeicherte Prozeduren werden bei der Erstellungszeit kompiliert. Entfernen Sie RECOMPILE aus der Prozedurdefinition.

Sie können „sp_recompile“ für eine nativ kompilierte gespeicherte Prozedur ausführen, wodurch die Funktion bei der nächsten Ausführung erneut kompiliert.
Option ENCRYPTION Diese Option wird nicht unterstützt. Entfernen Sie ENCRYPTION aus der Prozedurdefinition.
Option FOR REPLICATION Systemintern kompilierte gespeicherte Prozeduren können nicht für die Replikation erstellt werden. Entfernen Sie FOR REPLICATION aus der Prozedurdefinition.
Option FOR XML Diese Option wird nicht unterstützt. Entfernen Sie FOR XML aus der systemintern kompilierten gespeicherten Prozedur.
Option FOR BROWSE Diese Option wird nicht unterstützt. Entfernen Sie FOR BROWSE aus der systemintern kompilierten gespeicherten Prozedur.
Jointipp HASH, MERGE Systemintern kompilierte Prozeduren unterstützen nur den Nested Loops-Joins. Hash- und Zusammenführungsjoins werden nicht unterstützt. Entfernen Sie den Jointipp.
Abfragetipp Abfragetipp Dieser Abfragetipp befindet sich nicht in systemintern kompilierten gespeicherten Prozeduren. Unterstützte Abfragehinweise finden Sie unter Abfragehinweise (Transact-SQL).
Option PERCENT Diese Option wird nicht für TOP -Klauseln unterstützt. Entfernen Sie PERCENT aus der Abfrage in der systemintern kompilierten gespeicherten Prozedur.
Option WITH TIES Gilt für: SQL Server 2014 (12.x) und SQL Server 2016 (13.x)
Diese Option wird nicht für TOP -Klauseln unterstützt. Entfernen Sie WITH TIES aus der Abfrage in der systemintern kompilierten gespeicherten Prozedur.

Azure SQL-Datenbank und SQL Server ab SQL Server 2017 (14.x) unterstützen TOP WITH TIES.
Aggregate-Funktion Aggregatfunktion Nicht alle Aggregatfunktionen werden unterstützt. Weitere Informationen zu den unterstützten Aggregatfunktionen in nativ kompilierten T-SQL-Modulen finden Sie unter Unterstützte Funktionen für nativ kompilierte T-SQL-Module.
Rangfolgefunktion Rangfolgefunktion Rangfolgefunktionen werden nicht in systemintern kompilierten gespeicherten Prozeduren unterstützt. Entfernen Sie sie aus der Prozedurdefinition.
Funktion Funktion Diese Funktion wird nicht unterstützt. Weitere Informationen zu den unterstützten Funktionen in nativ kompilierten T-SQL-Modulen finden Sie unter Unterstützte Funktionen für nativ kompilierte T-SQL-Module.
Anweisung Anweisung Diese Anweisung wird nicht unterstützt. Weitere Informationen zu den unterstützten Funktionen in nativ kompilierten T-SQL-Modulen finden Sie unter Unterstützte Funktionen für nativ kompilierte T-SQL-Module.
Feature MIN und MAX verwendet mit Binär- und Zeichenfolgen Die Aggregatfunktionen MIN und MAX können nicht für Zeichenwerte oder binäre Zeichenfolgenwerte in systemintern kompilierten gespeicherten Prozeduren verwendet werden.
Feature GROUP BY ALL ALL kann nicht mit GROUP BY-Klauseln in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Entfernen Sie ALL aus der GROUP BY-Klausel.
Feature GROUP BY () Gruppierung nach einer leeren Liste wird nicht unterstützt. Entfernen Sie entweder die GROUP BY-Klausel, oder schließen Sie Spalten in der Gruppierungsliste ein.
Feature ROLLUP ROLLUP kann nicht mit GROUP BY -Klauseln in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Entfernen Sie ROLLUP aus der Prozedurdefinition.
Feature CUBE CUBE kann nicht mit GROUP BY -Klauseln in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Entfernen Sie CUBE aus der Prozedurdefinition.
Feature GROUPING SETS GROUPING SETS kann nicht mit GROUP BY -Klauseln in systemintern kompilierten gespeicherten Prozeduren verwendet werden. Entfernen Sie GROUPING SETS aus der Prozedurdefinition.
Feature BEGIN TRANSACTION, COMMIT TRANSACTION und ROLLBACK TRANSACTION Verwenden Sie ATOMIC-Blöcke, um Transaktionen und Fehlerbehandlung zu steuern. Weitere Informationen finden Sie unter ATOMIC-Blöcke.
Feature Deklarationen von Inlinetabellenvariablen. Tabellenvariablen müssen auf explizit definierte speicheroptimierte Tabellentypen verweisen. Sie sollten einen speicheroptimierten Tabellentyp erstellen und diesen Typ für die Variablendeklaration verwenden, statt den Typ inline anzugeben.
Feature Datenträgerbasierte Tabellen Auf datenträgerbasierte Tabellen kann nicht von systemintern kompilierten gespeicherten Prozeduren zugegriffen werden. Entfernen Sie Verweise auf datenträgerbasierte Tabellen aus den nativ kompilierten gespeicherten Prozeduren. Sie können auch datenträgerbasierte Tabellen zu speicheroptimierten Tabellen migrieren.
Feature Ansichten Auf Sichten kann nicht von systemintern kompilierten gespeicherten Prozeduren zugegriffen werden. Verweisen Sie nicht auf Sichten, sondern auf die zugrunde liegenden Basistabellen.
Feature Tabellenwertfunktionen Gilt für: Azure SQL-Datenbank und SQL Server ab SQL Server 2016 (13.x)
Auf Tabellenwertfunktionen mit mehreren Anweisungen kann nicht von nativ kompilierten T-SQL-Modulen aus zugegriffen werden. Inline-Tabellenwertfunktionen werden unterstützt. Diese müssen jedoch mit WITH NATIVE_COMPILATION erstellt werden.

Gilt für: SQL Server 2014 (12.x)
Auf Tabellenwertfunktionen kann nicht aus nativ kompilierten T-SQL-Modulen verwiesen werden.
Option PRINT Verweis entfernen
Feature DDL DDL wird innerhalb von nativ kompilierten T-SQL-Modulen nicht unterstützt.
Option STATISTICS XML Wird nicht unterstützt. Beim Ausführen einer Abfrage, für die STATISTICS XML aktiviert ist, wird der XML-Inhalt ohne den Teil für die nativ kompilierte gespeicherte Prozedur zurückgegeben.

Transaktionen, die auf speicheroptimierte Tabellen zugreifen

In der folgenden Tabelle sind die Transact-SQL-Features und Schlüsselwörter aufgeführt, die im Meldungstext eines Fehlers mit Transaktionen angezeigt werden können, die auf speicheroptimierte Tabellen zugreifen, sowie die Korrekturmaßnahme zum Beheben des Fehlers.

Typ Name Lösung
Feature savepoint Das Erstellen von expliziten Sicherungspunkten in Transaktionen, die auf speicheroptimierte Tabellen zugreifen, wird nicht unterstützt.
Feature Gebundene Transaktion Gebundene Sitzungen können nicht an Transaktionen teilnehmen, die auf speicheroptimierte Tabellen zugreifen. Binden Sie die Sitzung nicht, bevor Sie die Prozedur ausführen.
Feature DTC Transaktionen, die auf speicheroptimierte Tabellen zugreifen, können keine verteilten Transaktionen sein.

Weitere Informationen

Migrieren zu In-Memory OLTP