Delen via


Advisor voor geheugenoptimalisatie

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Rapporten over transactieprestatiesanalyse (zie Bepalen of een tabel of opgeslagen procedure moet worden overgezet naar In-Memory OLTP) informeert u over welke tabellen in uw database zullen profiteren als deze worden overgezet om In-Memory OLTP te gebruiken. Nadat u een tabel hebt geïdentificeerd die u wilt overzetten om In-Memory OLTP te gebruiken, kunt u de adviseur voor geheugenoptimalisatie in SQL Server Management Studio gebruiken om u te helpen bij het migreren van de schijftabel naar een tabel die is geoptimaliseerd voor geheugen.

Met de advisor voor geheugenoptimalisatie kunt u het volgende doen:

  • Identificeer eventuele functies die worden gebruikt in een schijftabel die niet worden ondersteund voor tabellen die zijn geoptimaliseerd voor geheugen.

  • Een tabel en gegevens migreren naar geheugen-geoptimaliseerd (als er geen niet-ondersteunde functies zijn).

Zie In-Memory OLTP - Algemene overwegingen voor workloadpatronen en migratie voor informatie over migratiemethoden.

Overzicht met behulp van de Memory-Optimization Advisor

Klik in Objectverkenner met de rechtermuisknop op de tabel die u wilt converteren en selecteer Memory-Optimization Advisor. Hiermee wordt de welkomstpagina voor de Table Memory Optimization Advisor weergegeven.

Controlelijst voor geheugenoptimalisatie

Wanneer u op Volgende klikt op de welkomstpagina voor de advisor voor tabelgeheugenoptimalisatie, ziet u de controlelijst voor geheugenoptimalisatie. Tabellen die zijn geoptimaliseerd voor geheugen ondersteunen niet alle functies in een schijftabel. De controlelijst voor geheugenoptimalisatie rapporteert of de tabel op basis van schijven functies gebruikt die niet compatibel zijn met een tabel die is geoptimaliseerd voor geheugen. Het Tabelgeheugenoptimalisatieadvies wijzigt de op schijf gebaseerde tabel niet, zodat deze kan worden gemigreerd om In-Memory OLTP te gebruiken. U moet deze wijzigingen aanbrengen voordat u doorgaat met de migratie. Voor elke gevonden incompatibiliteit geeft de advisor voor tabelgeheugenoptimalisatie een koppeling weer naar informatie die u kan helpen bij het wijzigen van uw schijftabellen.

Als u een lijst met deze incompatibiliteiten wilt behouden, klikt u op het rapport genereren om een HTML-lijst te genereren om uw migratie te plannen.

Als uw tabel geen incompatibiliteit heeft en u bent verbonden met een EXEMPLAAR van SQL Server 2014 (12.x) met In-Memory OLTP, klikt u op Volgende.

Waarschuwingen voor geheugenoptimalisatie

De volgende pagina, waarschuwingen voor geheugenoptimalisatie, bevat een lijst met problemen die niet verhinderen dat de tabel wordt gemigreerd om In-Memory OLTP te gebruiken, maar dat kan ertoe leiden dat het gedrag van andere objecten (zoals opgeslagen procedures of CLR-functies) mislukt of onverwacht gedrag tot gevolg heeft.

De eerste verschillende waarschuwingen in de lijst zijn informatief en zijn al dan niet van toepassing op uw tabel. Koppelingen in de rechterkolom van de tabel brengen u naar meer informatie.

In de waarschuwingstabel worden ook mogelijke waarschuwingsvoorwaarden weergegeven die niet aanwezig zijn in de tabel.

Actiegerichte waarschuwingen hebben een gele driehoek in de linkerkolom. Als er bruikbare waarschuwingen zijn, moet u de migratie afsluiten, de waarschuwingen oplossen en vervolgens het proces opnieuw starten. Als u de waarschuwingen niet oplost, kan de gemigreerde tabel een fout veroorzaken.

Klik op Rapport genereren om een HTML-rapport van deze waarschuwingen te genereren. Klik op Volgende om door te gaan.

Optimalisatieopties controleren

In het volgende scherm kunt u opties wijzigen voor de migratie naar In-Memory OLTP:

Voor geheugen geoptimaliseerde bestandsgroep
De naam voor uw voor geheugen geoptimaliseerde bestandsgroep. Een database moet een voor geheugen geoptimaliseerde bestandsgroep met ten minste één bestand hebben voordat een tabel kan worden gemaakt die is geoptimaliseerd voor geheugen.

Als u geen voor geheugen geoptimaliseerde bestandsgroep hebt, kunt u de standaardnaam wijzigen. Voor geheugen geoptimaliseerde bestandsgroepen kunnen niet worden verwijderd. Het bestaan van een voor geheugen geoptimaliseerde bestandsgroep kan sommige functies op databaseniveau uitschakelen, zoals AUTOMATISCH SLUITEN en databasespiegeling.

Als een database al een voor geheugen geoptimaliseerde bestandsgroep heeft, wordt dit veld vooraf ingevuld met de naam en kunt u de waarde van dit veld niet wijzigen.

Naam van logisch bestand en bestandspad
De naam van het bestand dat de tabel die is geoptimaliseerd voor geheugen bevat. Een database moet een voor geheugen geoptimaliseerde bestandsgroep met ten minste één bestand hebben voordat een tabel kan worden gemaakt die is geoptimaliseerd voor geheugen.

Als u geen bestaande voor geheugen geoptimaliseerde bestandsgroep hebt, kunt u de standaardnaam en het pad van het bestand wijzigen dat aan het einde van het migratieproces wordt gemaakt.

Als u een bestaande voor geheugen geoptimaliseerde bestandsgroep hebt, worden deze velden vooraf ingevuld en kunt u de waarden niet wijzigen.

De naam van de oorspronkelijke tabel wijzigen als
Aan het einde van het migratieproces wordt een nieuwe tabel gemaakt die is geoptimaliseerd voor geheugen met de huidige naam van de tabel. Als u een naamconflict wilt voorkomen, moet de naam van de huidige tabel worden gewijzigd. U kunt deze naam in dit veld wijzigen.

Geschatte huidige geheugenkosten (MB)
De Memory-Optimization Advisor schat de hoeveelheid geheugen die de nieuwe geheugen-geoptimaliseerde tabel zal gebruiken, op basis van metagegevens van de schijfgebaseerde tabel. De berekening van de tabelgrootte wordt uitgelegd in Tabel- en rijgrootte in Memory-Optimized Tabellen.

Als er onvoldoende geheugen is toegewezen, kan het migratieproces mislukken.

Tabelgegevens ook kopiëren naar de nieuwe tabel die is geoptimaliseerd voor geheugen
Selecteer deze optie als u de gegevens in de huidige tabel ook wilt verplaatsen naar de nieuwe tabel die is geoptimaliseerd voor geheugen. Als deze optie niet is geselecteerd, wordt de nieuwe tabel gemaakt die is geoptimaliseerd voor geheugen, zonder rijen.

De tabel wordt standaard gemigreerd als een duurzame tabel
In-Memory OLTP ondersteunt niet-duurzame tabellen met superieure prestaties in vergelijking met tabellen die zijn geoptimaliseerd voor duurzaam geheugen. Gegevens in een niet-duurzame tabel gaan echter verloren wanneer de server opnieuw wordt opgestart.

Als deze optie is geselecteerd, maakt de Memory-Optimization Advisor een niet-duurzame tabel in plaats van een duurzame tabel.

Waarschuwing

Selecteer deze optie alleen als u het risico van gegevensverlies begrijpt dat is gekoppeld aan niet-duurzame tabellen.

Klik op Volgende om verder te gaan.

Primaire sleutelconversie controleren

Het volgende scherm is Beoordeling van de primaire sleutelconversie. De Memory-Optimization Advisor detecteert of er een of meer primaire sleutels in de tabel staan en vult de lijst met kolommen op basis van de metagegevens van de primaire sleutel. Anders moet u een primaire sleutel maken als u wilt migreren naar een tabel die is geoptimaliseerd voor duurzaam geheugen.

Als er geen primaire sleutel bestaat en de tabel wordt gemigreerd naar een niet-duurzame tabel, wordt dit scherm niet weergegeven.

Voor tekstkolommen (kolommen met het type teken, nchar, varchar en nvarchar) moet u een geschikte sortering selecteren. In-Memory OLTP ondersteunt alleen BIN2-sorteringen voor kolommen in een tabel die is geoptimaliseerd voor geheugen en biedt geen ondersteuning voor sorteringen met aanvullende tekens. Zie Sorteringen en codepagina's voor informatie over de ondersteunde sorteringen en de mogelijke impact van een wijziging in sortering.

U kunt de volgende parameters voor de primaire sleutel configureren:

Selecteer een nieuwe naam voor deze primaire sleutel
De naam van de primaire sleutel voor deze tabel moet uniek zijn in de database. U kunt hier de naam van de primaire sleutel wijzigen.

Selecteer het type van deze primaire sleutel
In-Memory OLTP ondersteunt twee typen indexen in een tabel die is geoptimaliseerd voor geheugen:

  • Een NIET-GECLUSTERDE HASH-index. Deze index is het meest geschikt voor indexen met veel puntzoekacties. U kunt het aantal buckets voor deze index configureren in het veld Aantal buckets .

  • Een NIET-GECLUSTERDE index. Dit type index is het meest geschikt voor indexen met veel bereikvragen. U kunt de sorteervolgorde voor elke kolom in de sorteerkolom en volgordelijst configureren.

Zie Hash-indexen voor meer informatie over het type index dat het beste is voor uw primaire sleutel.

Klik op Volgende nadat u de primaire sleutel hebt gekozen.

Indexconversie controleren

De volgende pagina is Beoordeling van de indexconversie. De Memory-Optimization Advisor detecteert of er een of meer indexen in de tabel staan en vult de lijst met kolommen en het gegevenstype in. De parameters die u op de pagina Indexconversie controleren kunt configureren, zijn vergelijkbaar met de vorige pagina Primaire-sleutelconversie controleren.

Als de tabel alleen een primaire sleutel heeft en deze wordt gemigreerd naar een duurzame tabel, wordt dit scherm niet weergegeven.

Nadat u een beslissing hebt genomen voor elke index in de tabel, klikt u op Volgende.

Migratieacties controleren

De volgende pagina is Migratieacties verifiëren. Als u de migratiebewerking wilt uitvoeren, klikt u op Script om een Transact-SQL-script te genereren. Vervolgens kunt u het script wijzigen en uitvoeren. Klik op Migreren om de tabelmigratie te starten.

Nadat het proces is voltooid, vernieuwt u Objectverkenner om de nieuwe tabel te zien die is geoptimaliseerd voor geheugen en de oude tabel op basis van schijf. U kunt de oude tabel behouden of verwijderen op uw gemak.

Zie ook

migreren naar In-Memory OLTP