Nicht unterstützte SQL Server-Funktionen für In-Memory OLTP

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

In diesem Thema werden SQL Server-Features erläutert, die für die Verwendung mit speicheroptimierten Objekten nicht unterstützt werden. Außerdem werden im letzten Abschnitt Features aufgeführt, die für In-Memory-OLTP nicht unterstützt wurden und mittlerweile unterstützt werden.

SQL Server-Features für IN-Memory OLTP nicht unterstützt

Die folgenden SQL Server-Features werden für eine Datenbank mit speicheroptimierten Objekten (einschließlich speicheroptimierter Datendateigruppe) nicht unterstützt.

Nicht unterstützte Funktion Funktionsbeschreibung
Datenkomprimierung bei speicheroptimierten Tabellen Sie können die Datenkomprimierungsfunktion verwenden, um die Komprimierung der Daten innerhalb einer Datenbank sowie die Reduzierung der Datenbankgröße zu vereinfachen. Weitere Informationen finden Sie unter Data Compression.
Partitionierung von speicheroptimierten Tabellen und HASH-Indizes sowie nicht gruppierten Indizes. Die Daten partitionierter Tabellen und Indizes werden in Einheiten aufgeteilt, die über mehrere Dateigruppen in einer Datenbank verteilt sein können. Weitere Informationen finden Sie unter partitionierte Tabellen und Indizes.
Replikation Replikationskonfigurationen, die keine Transaktionsreplikation in speicheroptimierten Tabellen von Abonnenten darstellen, sind mit Tabellen oder Ansichten, die auf speicheroptimierte Tabellen verweisen, nicht kompatibel.

Die Replikation mit sync_mode='database snapshot' wird bei Vorhandensein speicheroptimierter Dateigruppen nicht unterstützt.

Weitere Informationen finden Sie unter Replikation mit Abonnenten von speicheroptimierten Tabellen.
Spiegelung Die Datenbankspiegelung wird für Datenbanken mit einer MEMORY_OPTIMIZED_DATA-Dateigruppe nicht unterstützt. Weitere Informationen zur Spiegelung finden Sie unter Datenbankspiegelung (SQL Server).
Protokollneuerstellung Die Neuerstellung des Protokolls, entweder durch Anfügen oder mithilfe von ALTER DATABASE, wird für Datenbanken mit einer MEMORY_OPTIMIZED_DATA-Dateigruppe nicht unterstützt.
Verknüpfter Server Sie können auf verknüpfte Server nicht in der gleichen Abfrage oder Transaktion als speicheroptimierte Tabellen zugreifen. Weitere Informationen finden Sie unter Verbindungsserver (Datenbank-Engine).
Massenprotokollierung Unabhängig vom Wiederherstellungsmodell der Datenbank werden alle Vorgänge in dauerhaften speicheroptimierten Tabellen immer vollständig protokolliert.
Minimale Protokollierung Die minimale Protokollierung wird für speicheroptimierte Tabellen nicht unterstützt. Weitere Informationen zur minimalen Protokollierung finden Sie unter "Transaktionsprotokoll (SQL Server) und Voraussetzungen für die minimale Protokollierung im Massenimport".
Änderungsnachverfolgung Die Änderungsnachverfolgung wird für arbeitsspeicheroptimierte Tabellen nicht unterstützt.
DDL-Trigger Trigger auf Datenbankebene und DDL-Trigger auf Serverebene werden nicht mit OLTP-Tabellen im Arbeitsspeicher oder mit systemeigenen kompilierten Modulen unterstützt.
Change Data Capture (CDC) SQL Server 2017 CU15 und höher unterstützt die Aktivierung von CDC für eine Datenbank mit arbeitsspeicheroptimierten Tabellen. Dies gilt nur für die Datenbank und Tabellen auf dem Datenträger in der Datenbank. In früheren Versionen von SQL Server kann CDC nicht mit einer Datenbank mit speicheroptimierten Tabellen verwendet werden, da CDC intern einen DDL-Trigger für DROP TABLE verwendet.
Fibermodus Der Fibermodus wird für speicheroptimierte Tabellen nicht unterstützt:

Wenn der Fibermodus aktiviert ist, können keine Datenbanken mit speicheroptimierten Dateigruppen erstellt oder speicheroptimierte Dateigruppen zu vorhandenen Datenbanken hinzugefügt werden.

Sie können den Fibermodus aktivieren, wenn Datenbanken mit speicheroptimierten Dateigruppen vorhanden sind. Allerdings erfordert das Aktivieren des Fibermodus einen Serverneustart. In einem solchen Fall können Datenbanken mit speicheroptimierten Dateigruppen nicht wiederhergestellt werden. Dann wird eine Fehlermeldung angezeigt, die Ihnen empfiehlt, den Fibermodus zu deaktivieren, um Datenbanken mit speicheroptimierten Dateigruppen nutzen zu können.

Wenn der Fasermodus aktiv ist, schlägt das Anfügen und Wiederherstellen einer Datenbank mit einer speicheroptimierten Dateigruppe fehl. Die Datenbanken werden als fehlerverdächtig gekennzeichnet.

Weitere Informationen finden Sie unter Lightweightpooling (Serverkonfigurationsoption).
Service Broker-Einschränkung Kann über eine systemintern kompilierte gespeicherte Prozedur nicht auf eine Warteschlange zugreifen.

Kann in einer Transaktion, die auf speicheroptimierte Tabellen zugreift, nicht auf eine Warteschlange in einer Remotedatenbank zugreifen.
Replikation auf Abonnenten Die Transaktionsreplikation in speicheroptimierte Tabellen von Abonnenten wird nur eingeschränkt unterstützt. Weitere Informationen finden Sie unter Replikation mit Abonnenten von speicheroptimierten Tabellen.

Datenbankübergreifende Abfragen und Transaktionen

Mit wenigen Ausnahmen werden datenbankübergreifende Transaktionen nicht unterstützt. In der folgenden Tabelle werden unterstützte Szenarien und entsprechende Einschränkungen beschrieben. (Siehe auch Datenbankübergreifende Abfragen.)

Datenbanken Zulässig Beschreibung
Benutzerdatenbanken, Modell- und msdb-Datenbanken Nein In den meisten Fällen werden datenbankübergreifende Abfragen und Transaktionen nicht unterstützt.

Ein Abfrage kann nicht auf andere Datenbanken zugreifen, wenn die Abfrage eine speicheroptimierte Tabelle oder eine nativ kompilierte gespeicherte Prozedur verwendet. Diese Einschränkung gilt für Transaktionen und Abfragen.

Ausgenommen sind die Systemdatenbanken tempdb und master. Hier steht die master-Datenbank nur für den schreibgeschützten Zugriff zur Verfügung.
Datenbank Resource, tempdb Ja Bei einer Transaktion, die speicherinterne OLTP-Objekte betrifft, können die Systemdatenbanken Resource und tempdb ohne zusätzliche Einschränkungen verwendet werden.

Nicht unterstützte Szenarien

  • Zugreifen auf speicheroptimierte Tabellen mithilfe der Kontextverbindung aus CLR-gespeicherten Prozeduren.

  • Keysetgesteuerte und dynamische Cursor für Abfragen, die auf speicheroptimierte Tabellen zugreifen. Diese Cursor werden auf "static" und "read-only" heruntergestuft.

  • Das Verwenden von MERGE INTOziel, wobei ziel eine speicheroptimierte Tabelle ist, wird nicht unterstützt.

    • MERGE USINGquelle wird für speicheroptimierte Tabellen unterstützt.
  • Der Datentyp ROWVERSION (TIMESTAMP) wird nicht unterstützt. Weitere Informationen finden Sie unter FROM (Transact-SQL).

  • Automatisches Schließen wird für Datenbanken, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten, nicht unterstützt.

  • Transaktions-DDL, wie z.B. CREATE/ALTER/DROP von speicherinternen OLTP-Objekten wird innerhalb von Benutzertransaktionen nicht unterstützt.

  • Ereignisbenachrichtigung

  • Richtlinienbasierte Verwaltung.

    • Verhindert und protokolliert nur die Modi von PBM, die nicht unterstützt werden. Das Vorhandensein solcher Richtlinien auf dem Server verhindert möglicherweise, dass In-Memory OLTP-DDL erfolgreich ausgeführt wird. On-Demand- und On-Schedule-Modi werden unterstützt.
  • Datenbankkapselung (Eigenständige Datenbanken) wird bei In-Memory-OLTP nicht unterstützt.

    • Die Authentifizierung eigenständiger Datenbanken wird unterstützt. Allerdings werden alle speicherinternen OLTP-Objekte in den dm_db_uncontained_entities der dynamischen Verwaltungssicht als „breaking containment“ gekennzeichnet.

Kürzlich hinzugefügte Unterstützungen

In manchen Fällen wird durch ein neues Release von SQL Server Unterstützung für ein Feature hinzugefügt, das zuvor nicht unterstützt wurde. In diesem Abschnitt werden Features aufgeführt, die für In-Memory-OLTP nicht unterstützt werden, die später jedoch für IN-Memory OLTP unterstützt wurden.

In der folgenden Tabelle wird unter den Werten für Version (z. B. (15.x)) aufgeführt, welcher Wert von der Transact-SQL-Anweisung SELECT @@Version; zurückgegeben wird.

Funktionsname Version von SQL Server Bemerkungen
Datenbank-Momentaufnahmen 2019 (15.x) Datenbankmomentaufnahmen werden nun für Datenbanken unterstützt, die eine MEMORY_OPTIMIZED_DATA-Dateigruppe enthalten.

Weitere Informationen