De volgende morgen controleerde ik het nachtelijke BI proces (met een rapportje in Report Server) en zag dat alles zonder fouten had gelopen. Niks aan de hand zou je zeggen. Todat ik meldingen kreeg van gebruikers dat "ze data misten". Vreemd, want het complete proces zou goed gelopen moeten hebben. Gelukkig had ik onlangs een controle ingebouwd, die afwijkingen in tabellen signaleerde. Deze gaf inderdaad wat meldingen terug. Het BI process zit ongeveer als volgt in elkaar:
- Er wordt een snapshot gemaakt van een gemirrorde database
- Voor elk bedrijf dat BI rapportages gebruikt is er een staging database en een report database
- De staging database bevat voornamelijk views die tegen de snapshot database aankijken met wat restricties
- ETL bewerkingen vinden plaats in de staging database. Dit gebeurt op tabellen die ontstaan uit de views
- Het eindresultaat komt in de Report database voor dat bedrijf
- Voor een aantal bedrijven wordt vanuit deze report database nog een Analytische Cube gemaakt
Bij wijziging in de tabelstructuur moeten de afhankelijke views en stored procedures opnieuw gecompileerd worden. Voor views kan dit met de procedure
sp_refresview, voor procedures kan dit met de procedure
sp-recompile(of gebruik bijgevoegd script)