Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Het rapport Transaction Performance Analysis in SQL Server Management Studio helpt u te evalueren of In-Memory OLTP de prestaties van uw databasetoepassing kan verbeteren. Het rapport geeft ook aan hoeveel werk u moet doen om In-Memory OLTP in te schakelen in uw toepassing. Nadat u een schijfgebaseerde tabel hebt geïdentificeerd om te porteren naar In-Memory OLTP, gebruikt u de Memory Optimization Advisor om u te helpen bij het migreren van de tabel. Op dezelfde manier helpt de Native Compilation Advisor u bij het overzetten van een opgeslagen procedure naar een systeemeigen gecompileerde opgeslagen procedure. Zie In-Memory OLTP - Algemene overwegingen voor workloadpatronen en migratie voor informatie over migratiemethoden.
Het rapport Transactieprestatieanalyse wordt rechtstreeks uitgevoerd op de productiedatabase of een testdatabase met een actieve workload die vergelijkbaar is met de productieworkload.
De rapporten en migratieadviseurs helpen u bij het uitvoeren van de volgende taken:
Analyseer uw workload om de hotspots te bepalen waar In-Memory OLTP mogelijk kan helpen om de prestaties te verbeteren. Het rapport Transactieprestatieanalyse raadt tabellen en opgeslagen procedures aan die het meeste profiteren van conversie naar In-Memory OLTP.
Help u bij het plannen en uitvoeren van uw migratie naar In-Memory OLTP. Het migratiepad van een schijftabel naar een tabel die is geoptimaliseerd voor geheugen kan tijdrovend zijn. De Memory-Optimization Advisor helpt u bij het identificeren van de incompatibiliteit in uw tabel die u moet verwijderen voordat u de tabel verplaatst naar In-Memory OLTP. De Memory-Optimization Advisor helpt u ook inzicht te krijgen in het effect dat de migratie van een tabel naar een tabel die is geoptimaliseerd voor geheugen, voor uw toepassing kan hebben.
U kunt zien of uw toepassing profiteert van In-Memory OLTP, wanneer u de migratie naar In-Memory OLTP wilt plannen en wanneer u werkt om enkele tabellen en opgeslagen procedures te migreren naar In-Memory OLTP.
Belangrijk
De prestaties van een databasesysteem zijn afhankelijk van verschillende factoren, niet alle factoren die de collector voor transactieprestaties kan observeren en meten. Daarom garandeert het rapport analyse van transactieprestaties niet dat de werkelijke prestatieverbeteringen overeenkomen met de voorspellingen, als er voorspellingen worden gedaan.
Het rapport Transaction Performance Analysis en de migratieadviseurs worden geïnstalleerd als onderdeel van SQL Server Management Studio (SSMS) wanneer u Management Tools-Basic of Management Tools-Advanced selecteert wanneer u SQL Server installeert of wanneer u SQL Server Management Studio installeert.
Rapporten over transactieprestatiesanalyse
U kunt rapporten voor transactieprestatiesanalyse genereren in Objectverkenner door met de rechtermuisknop op de database te klikken, rapporten te selecteren, vervolgens Standaardrapporten en vervolgens overzicht van transactieprestaties te bekijken. De database moet een actieve workload of een recente uitvoering van een workload hebben om een zinvol analyserapport te genereren.
Tables
Het detailrapport voor een tabel bestaat uit drie secties:
Sectie Scanstatistieken
Deze sectie bevat één tabel met de statistieken die worden verzameld over scans van de databasetabel. De kolommen zijn:
Percentage van de totale toegang. Het percentage scans en opzoeken op deze tabel ten aanzien van de activiteit van de hele database. Hoe hoger dit percentage, hoe intensiever een tabel wordt gebruikt vergeleken met andere tabellen in de database.
Opzoekstatistieken/bereikscanstatistieken. Deze kolom registreert het aantal puntzoekacties en bereikscans (indexscans en tabelscans) die tijdens het profileren op de tabel worden uitgevoerd. Het gemiddelde per transactie is een schatting.
Sectie Conflictenstatistieken
Deze sectie bevat een tabel die concurrentie op de databasetabel toont. Zie de handleiding transactionele vergrendeling en rijversiebeheer voor meer informatie over vergrendelingen en sloten in databases. De kolommen zijn als volgt:
Percentage van de totale wachttijden. Het percentage vergrendelings- en vergrendelingswachttijden op deze databasetabel vergeleken met de activiteit van de database. Hoe hoger dit percentage, hoe intensiever een tabel wordt gebruikt vergeleken met andere tabellen in de database.
Vergrendelingsstatistieken. In deze kolommen wordt het aantal vergrendelingswachttijden vastgelegd voor query's met betrekking tot deze tabel. Zie voor meer informatie over latches hoe SQL Server latches gebruikt, hoe hoger dit getal, hoe meer vergrendelingsconflicten in de tabel.
Vergrendelingsstatistieken. In deze groep kolommen wordt het aantal verkregen paginavergrendelingen en wachttijd voor query's voor deze tabel vastgelegd. Zie Granulariteit en hiërarchieën van vergrendelingen voor meer informatie over vergrendelingen. Hoe meer wachttijden, hoe meer conflicten over de vergrendeling van de tabel.
Sectie Migratieproblemen
Deze sectie bevat een tabel met de moeilijkheid om deze databasetabel te converteren naar een tabel die is geoptimaliseerd voor geheugen. Een hogere moeilijkheidsgraad geeft meer moeite aan om de tabel te converteren. Als u details wilt bekijken om deze databasetabel te converteren, gebruikt u De Advisor voor geheugenoptimalisatie.
Tijdens het proces worden scan- en concurrentiestatistieken verzameld en geaggregeerd in het tabeldetailrapport van sys.dm_db_index_operational_stats.
Opgeslagen procedures
Overweeg opgeslagen procedures te migreren die een hoge verhouding hebben tussen CPU-tijd en verstreken tijd. Het rapport bevat alle tabelverwijzingen omdat systeemeigen gecompileerde opgeslagen procedures alleen kunnen verwijzen naar tabellen die zijn geoptimaliseerd voor geheugen, die kunnen worden toegevoegd aan de migratiekosten.
Het detailrapport voor een opgeslagen procedure bestaat uit twee secties:
Sectie Uitvoeringsstatistieken
Deze sectie bevat een tabel met de statistieken die zijn verzameld over de uitvoeringen van de opgeslagen procedure. De kolommen zijn als volgt:
Gecachte tijd. Het tijdstip waarop dit uitvoeringsplan in de cache wordt opgeslagen. Als de opgeslagen procedure uit de plancache wordt verwijderd en weer wordt opgenomen, ziet u de tijden voor elke cache.
Totale CPU-tijd. De totale CPU-tijd die de opgeslagen procedure heeft verbruikt tijdens het profileren. Hoe hoger dit getal, hoe meer CPU de opgeslagen procedure gebruikt.
Totale uitvoeringstijd. De totale hoeveelheid uitvoeringstijd die de opgeslagen procedure tijdens de profilering heeft gebruikt. Hoe hoger het verschil tussen dit getal en de CPU-tijd, hoe minder efficiënt de opgeslagen procedure de CPU gebruikt.
Totaal aantal gemiste caches. Het aantal cachefouten (leesbewerkingen uit fysieke opslag) dat de uitvoeringen van de opgeslagen procedure tijdens de profilering hebben veroorzaakt.
Aantal uitvoeringen. Het aantal keren dat deze opgeslagen procedure wordt uitgevoerd tijdens de profilering.
Sectie Tabelverwijzingen
Deze sectie bevat een tabel met de tabellen waarnaar deze opgeslagen procedure verwijst. Voordat u de opgeslagen procedure converteert naar een systeemeigen gecompileerde opgeslagen procedure, converteert u al deze tabellen naar tabellen die zijn geoptimaliseerd voor geheugen. Deze tabellen moeten op dezelfde server en database blijven staan.
De uitvoeringsstatistieken voor het rapport met opgeslagen proceduredetails worden verzameld en samengevoegd van sys.dm_exec_procedure_stats (Transact-SQL). De verwijzingen zijn afkomstig van sys.sql_expression_dependencies (Transact-SQL).
Gebruik de Native Compilation Advisor voor meer informatie over het converteren van een opgeslagen procedure naar een systeemeigen opgeslagen procedure.
Controlelijsten voor OLTP-migratie in het geheugen genereren
Controlelijsten voor migratie identificeren tabel- of opgeslagen procedurefuncties die niet worden ondersteund met tabellen die zijn geoptimaliseerd voor geheugen of systeemeigen opgeslagen procedures. De adviseurs voor geheugenoptimalisatie en systeemeigen compilatie kunnen een controlelijst genereren voor een tabel op basis van één schijf of een geïnterpreteerde T-SQL-opgeslagen procedure. U kunt ook controlelijsten voor migratie genereren voor meerdere tabellen en opgeslagen procedures in een database.
Gebruik in SQL Server Management Studio de opdracht In-Memory OLTP-migratiecontrolelijsten genereren of PowerShell om een controlelijst voor migratie te genereren.
Een controlelijst voor migratie genereren met behulp van de ui-opdracht
Klik in Objectverkenner met de rechtermuisknop op een andere database dan de systeemdatabase, selecteer Taken en selecteer vervolgens In-Memory OLTP-migratiecontrolelijsten genereren.
Selecteer in het dialoogvenster Controlelijsten In-Memory voor oltp-migratie genereren de optie Volgende om naar de pagina Opties voor het genereren van controlelijsten configureren te gaan. Voer op deze pagina de volgende stappen uit:
Voer een mappad in het vak Checklijst opslaan naar.
Controleer of controlelijsten genereren voor specifieke tabellen en opgeslagen procedures zijn geselecteerd.
Vouw de knooppunten Tabel en Opgeslagen procedure uit in het sectievak.
Selecteer een paar objecten in het selectievak.
Selecteer Volgende en bevestig dat de lijst met taken overeenkomt met uw instellingen op de pagina Opties voor het genereren van controlelijsten configureren .
Selecteer Voltooien en bevestig vervolgens dat er alleen controlelijstrapporten voor migratie zijn gegenereerd voor de objecten die u hebt geselecteerd.
U kunt de nauwkeurigheid van de rapporten controleren door deze te vergelijken met rapporten die zijn gegenereerd door het hulpprogramma Memory Optimization Advisor en het hulpprogramma Native Compilation Advisor. Zie Memory Optimization Advisor en Native Compilation Advisor voor meer informatie.
Een controlelijst voor migratie genereren met SQL Server PowerShell
Selecteer in Objectverkenner een database en selecteer Vervolgens Start PowerShell. Controleer of de volgende prompt wordt weergegeven.
PS SQLSERVER: \SQL\{Instance Name}\DEFAULT\Databases\{two-part DB Name}>Voer de volgende opdracht in.
Save-SqlMigrationReport -FolderPath "<folder_path>"Controleer de volgende resultaten:
Met de opdracht wordt het mappad gemaakt als dit nog niet bestaat.
Met de opdracht wordt het controlelijstrapport voor migratie gegenereerd voor alle tabellen en opgeslagen procedures in de database. Het rapport bevindt zich op de locatie die is opgegeven door
folder_path.
Een controlelijst voor migratie genereren met Windows PowerShell
Start een Windows PowerShell-sessie met verhoogde bevoegdheid.
Voer de volgende opdrachten in. Het object kan een tabel of een opgeslagen procedure zijn.
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -FolderPath "<folder_path1>"Save-SqlMigrationReport -Server "<instance_name>" -Database "<db_name>" -Object <object_name> -FolderPath "<folder_path2>"Controleer de volgende resultaten:
Met de opdracht wordt een controlelijstrapport voor migratie gegenereerd voor alle tabellen en opgeslagen procedures in de database. Het rapport bevindt zich op de locatie die is opgegeven door
folder_path.Het migratie-controlelijstrapport voor
<object_name>is het enige rapport op de locatie die is opgegeven doorfolder_path2.