Rådgivare för minnesoptimering

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

Rapporter om analys av transaktionsprestanda (se Avgöra om en tabell eller lagrad procedur ska portas till In-Memory OLTP) informerar dig om vilka tabeller i databasen som kommer att gynnas om de portas för att använda In-Memory OLTP. När du har identifierat en tabell som du vill att porten ska använda In-Memory OLTP kan du använda rådgivaren för minnesoptimering i SQL Server Management Studio för att migrera den diskbaserade tabellen till en minnesoptimerad tabell.

Med rådgivaren för minnesoptimering kan du:

  • Identifiera funktioner som används i en diskbaserad tabell som inte stöds för minnesoptimerade tabeller.

  • Migrera en tabell och data till minnesoptimerade (om det inte finns några funktioner som inte stöds).

Information om migreringsmetoder finns iIn-Memory OLTP – Vanliga arbetsbelastningsmönster och migreringsöverväganden.

Genomgång med hjälp av Memory-Optimization Advisor

Högerklicka på den tabell som du vill konvertera i Object Explorer och välj Memory-Optimization Advisor. Då visas välkomstsidan för Table Memory Optimization Advisor.

Checklista för minnesoptimering

När du klickar på Nästa på välkomstsidan för Table Memory Optimization Advisor visas checklistan för minnesoptimering. Minnesoptimerade tabeller stöder inte alla funktioner i en diskbaserad tabell. Checklistan för minnesoptimering rapporterar om den diskbaserade tabellen använder funktioner som inte är kompatibla med en minnesoptimerad tabell. Table Memory Optimization Advisor ändrar inte den diskbaserade tabellen så att den kan migreras för att använda In-Memory OLTP. Du måste göra dessa ändringar innan du fortsätter migreringen. För varje inkompatibilitet som hittas visar Table Memory Optimization Advisor en länk till information som kan hjälpa dig att ändra dina diskbaserade tabeller.

Om du vill behålla en lista över dessa inkompatibiliteter kan du planera migreringen genom att klicka på Generera rapport för att generera en HTML-lista.

Om tabellen inte har några inkompatibiliteter och du är ansluten till en SQL Server 2014-instans (12.x) med In-Memory OLTP klickar du på Nästa.

Minnesoptimeringsvarningar

Nästa sida, minnesoptimeringsvarningar, innehåller en lista över problem som inte hindrar tabellen från att migreras för att använda In-Memory OLTP, men som kan orsaka att andra objekts beteende (till exempel lagrade procedurer eller CLR-funktioner) misslyckas eller resulterar i oväntat beteende.

De första varningarna i listan är för information och kan eller kan inte gälla för din tabell. Länkar i den högra kolumnen i tabellen tar dig till mer information.

Varningstabellen visar även potentiella varningsvillkor som inte finns i tabellen.

Varningarna som kan användas har en gul triangel i den vänstra kolumnen. Om det finns åtgärdsbara varningar bör du avsluta migreringen, lösa varningarna och sedan starta om processen. Om du inte löser varningarna kan den migrerade tabellen orsaka ett fel.

Klicka på Generera rapport för att generera en HTML-rapport med dessa varningar. Klicka på Nästa för att fortsätta.

Granska optimeringsalternativ

På nästa skärm kan du ändra alternativen för migreringen till In-Memory OLTP:

Minnesoptimerad filgrupp
Namnet på din minnesoptimerade filgrupp. En databas måste ha en minnesoptimerad filgrupp med minst en fil innan en minnesoptimerad tabell kan skapas.

Om du inte har en minnesoptimerad filgrupp kan du ändra standardnamnet. Minnesoptimerade filgrupper kan inte tas bort. Förekomsten av en minnesoptimerad filgrupp kan inaktivera vissa funktioner på databasnivå, till exempel AUTOMATISK STÄNGNING och databasspegling.

Om en databas redan har en minnesoptimerad filgrupp fylls fältet i i förväg med dess namn och du kommer inte att kunna ändra värdet för det här fältet.

Namn på logisk fil och filsökväg
Namnet på filen som ska innehålla den minnesoptimerade tabellen. En databas måste ha en minnesoptimerad filgrupp med minst en fil innan en minnesoptimerad tabell kan skapas.

Om du inte har någon befintlig minnesoptimerad filgrupp kan du ändra standardnamnet och sökvägen för filen som ska skapas i slutet av migreringsprocessen.

Om du har en befintlig minnesoptimerad filgrupp fylls dessa fält i i förväg och du kommer inte att kunna ändra värdena.

Byt namn på den ursprungliga tabellen som
I slutet av migreringsprocessen skapas en ny minnesoptimerad tabell med tabellens aktuella namn. För att undvika en namnkonflikt måste den aktuella tabellen byta namn. Du kan ändra namnet i det här fältet.

Uppskattad aktuell minneskostnad (MB)
Memory-Optimization Advisor uppskattar mängden minne som den nya minnesoptimerade tabellen kommer att förbruka baserat på metadata för den diskbaserade tabellen. Beräkningen av tabellstorleken förklaras i Tabell och Radstorlek i Memory-Optimized tabeller.

Om tillräckligt med minne inte tilldelas kan migreringsprocessen misslyckas.

Kopiera även tabelldata till den nya minnesoptimerade tabellen
Välj det här alternativet om du också vill flytta data i den aktuella tabellen till den nya minnesoptimerade tabellen. Om det här alternativet inte är markerat skapas den nya minnesoptimerade tabellen utan rader.

Tabellen migreras som standard som en beständig tabell
In-Memory OLTP stöder icke-hållbara tabeller med överlägsen prestanda jämfört med hållbara minnesoptimerade tabeller. Data i en icke-varaktig tabell går dock förlorade när servern startas om.

Om det här alternativet väljs skapar Memory-Optimization Advisor en icke-varaktig tabell i stället för en beständig tabell.

Varning

Välj endast det här alternativet om du förstår risken för dataförlust som är associerad med icke-varaktiga tabeller.

Klicka på Nästa för att fortsätta.

Granska primärnyckelkonvertering

Nästa skärmvy är Granska primärnyckelkonvertering. Memory-Optimization Advisor identifierar om det finns en eller flera primära nycklar i tabellen och fyller i listan med kolumner baserat på metadata för primärnyckeln. Annars måste du skapa en primärnyckel om du vill migrera till en beständig minnesoptimerad tabell.

Om det inte finns någon primärnyckel och tabellen migreras till en icke-varaktig tabell visas inte den här skärmen.

För textkolumner (kolumner med typerna char, nchar, varchar och nvarchar) måste du välja en lämplig sortering. In-Memory OLTP stöder endast BIN2-sortering för kolumner i en minnesoptimerad tabell och stöder inte sortering med tilläggstecken. Se Sorteringar och kodsidor för information om de sorteringar som stöds och den potentiella effekten av en ändring i sorteringen.

Du kan konfigurera följande parametrar för primärnyckeln:

Välj ett nytt namn för den här primärnyckeln
Det primära nyckelnamnet för den här tabellen måste vara unikt i databasen. Du kan ändra namnet på primärnyckeln här.

Välj typ av den här primärnyckeln
In-Memory OLTP stöder två typer av index i en minnesoptimerad tabell:

  • ETT OINDEXERAT HASHINDEX. Det här indexet passar bäst för index med många punktsökningar. Du kan konfigurera bucketantalet för det här indexet i fältet Antal bucketar .

  • Ett NONCLUSTERED-index. Den här typen av index passar bäst för index med många intervallfrågor. Du kan konfigurera sorteringsordningen för varje kolumn i sorteringskolumnen och orderlistan .

Information om vilken typ av index som är bäst för din primära nyckel finns i Hash-index.

Klicka på Nästa när du har skapat dina primära nyckelval.

Granska indexkonvertering

Nästa sida är Översikt över indexomvandling. Memory-Optimization Advisor identifierar om det finns ett eller flera index i tabellen och fyller i listan med kolumner och datatyp. De parametrar som du kan konfigurera på sidan Granska indexkonvertering liknar de på föregående Granska primärnyckelkonvertering-sidan.

Om tabellen bara har en primärnyckel och den migreras till en beständig tabell visas inte den här skärmen.

När du har fattat ett beslut för varje index i tabellen klickar du på Nästa.

Verifiera migreringsåtgärder

Nästa sida är Verifiera migreringsåtgärder. Om du vill skripta migreringsåtgärden klickar du på Skript för att generera ett Transact-SQL skript. Du kan sedan ändra och köra skriptet. Klicka på Migrera för att påbörja tabellmigreringen.

När processen är klar uppdaterar du Object Explorer för att se den nya minnesoptimerade tabellen och den gamla diskbaserade tabellen. Du kan behålla den gamla tabellen eller ta bort den när det passar dig.

Se även

Migrera till In-Memory OLTP-