AFAS Profit gebruikt SQL Server als opslag en draait alles via stored procedures en views op de Profit-database. Tunen kan, maar onder strikte randvoorwaarden: AFAS ondersteunt geen eigen indexen of structuurwijzigingen op hun objecten. Onze AFAS-DBA's werken binnen die kaders en halen er nog veel uit.
Wat wel en niet mag op de Profit-database
Een eigen non-clustered index op een AFAS-tabel is bij update-installaties geen probleem; AFAS overschrijft tabel-DDL niet. Wel triggers en stored procedures. We documenteren elke index die we toevoegen zodat een toekomstige AFAS-consultant weet wat er extra staat.
GetConnectoren en autorisaties
Veel AFAS-traagheid komt niet uit de UI maar uit GetConnectoren die externe systemen elke vijf minuten poolen. We meten met Query Store welke GetConnector-stored-procedures het meeste CPU verbranden, en herontwerpen ze met de AFAS-functioneel-beheerder samen (vrije velden weghalen, autorisatie-context vereenvoudigen, paging toevoegen).
Statistics en SAUTO-tabellen
De SAUTO-tabellen (autorisatie) groeien hard en hun statistics raken snel scheef. Een geplande UPDATE STATISTICS WITH FULLSCAN op SAUTO-tabellen elke nacht voorkomt dat plans steeds suboptimaal worden. Standaard auto-update is voor deze tabellen onvoldoende.
Reportingboek en data-export
Reportingboek-rapportages over miljoenen regels verbranden TempDB. We adviseren een leesreplica via Always On (asynchroon) waarop het reportingboek draait, zodat productie geen last heeft. Voor BI-doeleinden kopiëren we naar Azure SQL of een data-warehouse via incremental load.
Hardware en licentie-keuze
AFAS-installaties op SQL Server Standard met onvoldoende RAM zien we vaak. SQL Server Standard ondersteunt maximaal 128 GB RAM voor de buffer pool. Wie meer nodig heeft, moet naar Enterprise of de AFAS-database splitsen. We rekenen samen met u de ROI van een upgrade door.
Verwant: Interim SQL DBA, Trage query oplossen.