Bekijk de Microsoft Access projecten voor onze klanten 

#DTV: SQL Server, vraag en antwoord op tweets (1)

7201

Mijn naam is Wim Snijders en ik ben SQL specialist bij XCESS

#DTV: Veel van de kwaliteit en mogelijkheden van SQL databases blijven onbenut, eens of oneens? (05/04/13)

Vaak wordt er geen gebruik gemaakt van de kwaliteit en mogelijkheden in SQL databases. Veelal betreft dit mogelijkheden om de kwaliteit van de database te waarborgen. Hiertoe behoren natuurlijk de  onderwerpen in de voorafgaande stellingen. Belangrijk hierbij is natuurlijk de continuïteit en de mate van inspanning.

Een goed voorbeeld is policy based management om bedrijfsbeleid automatisch te waarborgen. Hierbij kunnen criteria worden ingesteld m.b.t. bijvoorbeeld naamgeving of database instellingen. Verder zijn er de SQL Server (extended) Events waarmee specifieke gebeurtenissen op de server kunnen worden getraceerd om zo een beter inzicht te krijgen in hoe de server functioneert. Ook is SQL Server uitgerust met een uitgebreid alert system waarmee berichten worden gestuurd bij zelf gekozen gebeurtenissen of performance counters. Dit biedt de mogelijkheid om 24 uur op de hoogte te zijn van de staat en functioneren van de database. De mogelijkheden zijn aanwezig dus waarom niet gebruiken?

#DTV: Bij veel SQL databases ontbreekt een maintenance plan, eens of oneens? (04/04/13)

Vaak is er wel een maintenance plan maar is dit niet compleet. Bij deze stelling komt natuurlijk ook de vraag: Is het juiste maintenance plan toegepast? Worden de juiste taken uitgevoerd en in de juiste volgorde en op het juiste tijdstip?
Een goed maintenance plan omvat de volgende zaken: database back-up, database integriteit , indexen, statistieken en opschoning. Aan het plan kunnen notifiers worden toegevoegd voor het versturen van berichten. Na het instellen van het plan is het belangrijk om te controleren of het plan voldoet en eventueel bij te stellen. Dit kan inhouden dat de frequentie moet worden aangepast. Eventueel kan er een dagelijks en wekelijks plan worden ingesteld. Dit alles om de database in een goede staat te houden qua data, integriteit en performance.

#DTV: Iedere SQL database is 10% sneller te maken (03/04/13)

Deze stelling is waar, maar de belangrijke vraag hierbij is hoeveel inspanning en geld is hiervoor nodig.  Hierbij moet u bv. denken aan: “Uitgaande van dezelfde hardware, kosten structurele aanpassingen betreffende het datamodel, partionering, tabellen, views en procedures naarmate de database groter is, kost het meer inspanning.” Desalniettemin kan een herstructurering van een aantal views of procedures een groot verschil maken.

Een vaak onderbelicht onderdeel zijn indexen terwijl deze van zeer grote invloed zijn op de performance. Een tabel index is te vergelijken met een index in een boek. Door het aanbrengen van de juiste indexen kan de performance drastisch toenemen. Een groot voordeel is dat het aanbrengen van indexen relatief weinig tijd kosten maar wel leidt tot grote winst.

#DTV: SQL databases worden te weinig gebackuped, of toch niet? (02/04/13)

Beter is de vraag hoeveel data is men bereid te verliezen. Welke back-up strategie er moet worden toegepast is afhankelijk van de situatie. Een goede maatstaf is het aantal transacties dat plaats vindt tussen de back-ups . Als er een back-up  moet worden terug gezet, dan is het tijdstip van de back-up bepalend voor hoeveel data er verloren gaat. Dan is er ook nog de vraag:  is de data überhaupt nog te reproduceren?

Microsoft SQL Server biedt goede opties voor een gedegen back-up strategie:

  1. Full: back-up van de gehele database
  2. Differential: back-up van alleen de pages die gewijzigd zijn na de full back-up
  3. Transaction log: back-up van alle transacties na de full back-up

Door de laatste twee opties te combineren met de full back-up kan een betrouwbare back-up strategie worden bepaald. Waarbij de laatste 2 opties gezien de selectiviteit veel minder tijd en ruimte in beslag nemen. Bij de transaction log back-up is het mogelijk om de database te herstellen tot een bepaald tijdstip.