Freigeben über


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

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

In diesem Thema werden SQL Server-Funktionen erläutert, bei denen die Verwendung mit speicheroptimierten Objekten nicht unterstützt wird. 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-Funktionen, die für In-Memory-OLTP nicht unterstützt werden

Die folgenden SQL Server-Funktionen werden in einer Datenbank nicht unterstützt, die speicheroptimierte Objekte (einschließlich einer speicheroptimierten Dateigruppe) enthält.

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 Das Transaktionsprotokoll (SQL Server) und Voraussetzungen für die minimale Protokollierung beim Massenimport.
Änderungsnachverfolgung Die Änderungsnachverfolgung wird für arbeitsspeicheroptimierte Tabellen nicht unterstützt.
DDL-Trigger DDL-Trigger auf Datenbankebene und Serverebene werden sowohl bei In-Memory-OLTP-Tabellen als auch bei nativ kompilierten Modulen nicht 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.

Das Anfügen und Wiederherstellen von Datenbanken mit speicheroptimierten Dateigruppen schlägt fehl, wenn der Fibermodus aktiviert ist. 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

Datenbankübergreifende Transaktionen werden bis auf einige Ausnahmen 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 No 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 INTO target, wobei target eine speicheroptimierte Tabelle ist, wird nicht unterstützt.

    • MERGE USING source 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.

    • Der „Prevent“- und der „Log Only“-Modus der richtlinienbasierten Verwaltung werden nicht unterstützt. Das Vorhandensein solcher Richtlinien auf dem Server verhindert möglicherweise, dass In-Memory OLTP-DDL erfolgreich ausgeführt wird. Der „On Demand“- und der „On Schedule“-Modus 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 früher nicht für In-Memory-OLTP unterstützt wurden. Mittlerweile werden diese jedoch für In-Memory-OLTP unterstützt.

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.

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

Weitere Informationen