SQL Server-funktioner som inte stöds för In-Memory OLTP

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

I det här avsnittet beskrivs SQL Server-funktioner som inte stöds för användning med minnesoptimerade objekt. Dessutom listar det sista avsnittet funktioner som inte stöds för In-Memory OLTP, men som senare fick stöd.

SQL Server-funktioner stöds inte för In-Memory OLTP

Följande SQL Server-funktioner stöds inte i en databas som har minnesoptimerade objekt (inklusive minnesoptimerad datafilgrupp).

Funktion som inte stöds Funktionsbeskrivning
Datakomprimering för minnesoptimerade tabeller. Du kan använda funktionen för datakomprimering för att komprimera data i en databas och för att minska databasens storlek. För mer information, se datakomprimering.
Partitionering av minnesoptimerade tabeller och HASH-index och icke-grupperade index. Data för partitionerade tabeller och index är indelade i enheter som kan spridas över mer än en filgrupp i en databas. Mer information finns i partitionerade tabeller och index.
Replication Replikeringskonfigurationer, förutom transaktionsreplikering till minnesoptimerade tabeller för prenumeranter, är inte kompatibla med tabeller eller vyer som refererar till minnesoptimerade tabeller.

Om det finns en minnesoptimerad filgrupp stöds inte replikering med sync_mode='databasögonblicksbild'.

Mer information finns i Replikering till minnesoptimerade tabellprenumeranter.
Spegling Databasspegling stöds inte för databaser med en MEMORY_OPTIMIZED_DATA filgrupp. Mer information om spegling finns i Databasspegling (SQL Server).
Återskapa logg Det går inte att återskapa loggen, antingen via bifogad databas eller ALTER DATABASE, för databaser med en MEMORY_OPTIMIZED_DATA filgrupp.
Länkad server Du kan inte komma åt länkade servrar i samma fråga eller transaktion som minnesoptimerade tabeller. Mer information finns i länkade servrar (databasmotorn).
Massloggning Oavsett databasens återställningsmodell loggas alltid alla åtgärder på varaktiga minnesoptimerade tabeller fullständigt.
Minimal loggning Minimal loggning stöds inte för minnesoptimerade tabeller. Mer information om minimal loggning finns i Transaktionsloggen (SQL Server) och Krav för minimal loggning vid massimport.
Spårning av ändringar Ändringsspårning stöds inte för minnesoptimerade tabeller.
DDL-utlösare Utlösare på databasnivå och DDL-utlösare på servernivå stöds inte med In-Memory OLTP-tabeller eller med inbyggda kompilerade moduler.
Ändringsdataregistrering (CDC) SQL Server 2017 CU15 och högre stöd för att aktivera CDC på en databas som har minnesoptimerade tabeller. Detta gäller endast för databasen och eventuella disktabeller i databasen. I tidigare versioner av SQL Server kan CDC inte användas med en databas som har minnesoptimerade tabeller, eftersom CDC internt använder en DDL-utlösare för DROP TABLE.
Fiberläge Fiberläge stöds inte med minnesoptimerade tabeller:

Om fiberläget är aktivt kan du inte skapa databaser med minnesoptimerade filgrupper och du kan inte heller lägga till minnesoptimerade filgrupper i befintliga databaser.

Du kan aktivera fiberläge om det finns databaser med minnesoptimerade filgrupper. Att aktivera fiberläge kräver dock en omstart av servern. I så fall skulle databaser med minnesoptimerade filgrupper inte återställas. Då visas ett felmeddelande som tyder på att du inaktiverar fiberläge för att använda databaser med minnesoptimerade filgrupper.

Om fiberläget är aktivt misslyckas det att ansluta och återställa en databas som har en minnesoptimerad filgrupp. Databaserna skulle markeras som misstänkta.

Mer information finns i konfigurationsalternativet för enkel poolserver.
Service Broker-begränsning Det går inte att komma åt en kö från en inbyggt kompilerad lagrad procedur.

Det går inte att komma åt en kö i en fjärrdatabas i en transaktion som har åtkomst till minnesoptimerade tabeller.
Replikering för prenumeranter Transaktionsreplikering till minnesoptimerade tabeller för prenumeranter stöds, men med vissa begränsningar. Mer information finns i Replikering till minnesoptimerade tabellprenumeranter

Frågor och transaktioner mellan databaser

Med några få undantag stöds inte transaktioner mellan databaser. I följande tabell beskrivs vilka fall som stöds och motsvarande begränsningar. (Se även frågor mellan databaser.)

Databases Tillåtet Description
Användardatabaser, modell och msdb. Nej I de flesta fall stöds inte frågor och transaktioner mellan databaser.

En fråga kan inte komma åt andra databaser om frågan använder antingen en minnesoptimerad tabell eller en inbyggt kompilerad lagrad procedur. Den här begränsningen gäller för transaktioner och frågor.

Undantagen är systemdatabaserna tempdb och master. Här är huvuddatabasen tillgänglig för skrivskyddad åtkomst.
Resursdatabas , tempdb Yes I en transaktion som berör In-Memory OLTP-objekt kan resurs - och tempdb-systemdatabaserna användas utan ytterligare begränsning.

Scenarier stöds inte

  • Åtkomst till minnesoptimerade tabeller med hjälp av kontextanslutningen inifrån CLR-lagrade procedurer.

  • Nycklar och dynamiska markörer för frågor som har åtkomst till minnesoptimerade tabeller. Dessa markörer ändras till statisk och endast läsbar.

  • Det går inte att använda MERGE INTO-målet, där målet är en minnesoptimerad tabell.

    • MERGE USING source stöds för minnesoptimerade tabeller.
  • DATAtypen ROWVERSION (TIMESTAMP) stöds inte. Mer information finns i FROM (Transact-SQL).

  • Automatisk stängning stöds inte med databaser som har en MEMORY_OPTIMIZED_DATA filgrupp

  • Transaktions-DDL, till exempel CREATE/ALTER/DROP av In-Memory OLTP-objekt, stöds inte i användartransaktioner.

  • Händelsemeddelande.

  • Principbaserad hantering (PBM).

    • Lägena för att endast förhindra och logga i PBM stöds inte. Förekomsten av sådana principer på servern kan hindra In-Memory OLTP DDL från att köras korrekt. Det finns stöd för lägen på begäran och schemalagda lägen.
  • Databas inneslutning (inneslutna databaser) stöds inte med In-Memory OLTP.

    • Oberoende databasautentisering stöds. Alla In-Memory OLTP-objekt markeras dock som objekt som bryter mot inneslutning i dynamiska hanteringsvyn dm_db_uncontained_entities.

Nyligen tillagda

Ibland lägger en nyare version av SQL Server till stöd för en funktion som tidigare inte stöds. I det här avsnittet visas funktioner som tidigare inte stöds för In-Memory OLTP, men som senare fick stöd för In-Memory OLTP.

I följande tabell refererar versionsvärden(15.x) som till det värde som returneras av Transact-SQL -instruktionen SELECT @@Version;.

Funktionsnamn Version av SQL Server Comments
Databasögonblick 2019 (15.x) Databasögonblicksbilder stöds nu för databaser som har en MEMORY_OPTIMIZED_DATA filgrupp.

Se även