SQL Maintenance Jobs met notifications

Ola Hallengren heeft een complete ‘SQL Server Maintenance Solution’ die bestaat uit  scripts voor backups, integrity checks, en index en statistics maintenance voor alle edities van Microsoft SQL Server. Dus waarom het wiel opnieuw uitvinden? We gaan de SQL Maintenance Jobs inrichten…

Scripts

Nadat we het MaintenanceSolution.sql script hebben gedownload openen we deze in een nieuwe query.

We dienen nu de standaard folder voor backups aan te passen zoals ingesteld in de SQL Server:

sqlmaint01

Hierna kan het script uitgevoerd worden. Eenmaal uitgevoerd zijn er een aantal jobs aangemaakt.

SQL Maintenance Jobs

SQL Maintenance Jobs

We plannen de verschillende jobs als volgt in:(afhankelijk van de noodzaak)

  • DatabaseIntegrityCheck – SYSTEM_DATABASES : Dagelijks om 02:00
  • DatabaseIntegrityCheck – USER_DATABASES : Dagelijks om 03:00
  • IndexOptimize – USER_DATABASES : Wekelijks op zaterdag om 13:00
  • DatabaseBackup – SYSTEM_DATABASES – FULL : Dagelijks om 04:00, CleanupTime = 72 uur
  • DatabaseBackup – USER_DATABASES – FULL : Dagelijks om 05:00, CleanupTime = 72 uur
  • DatabaseBackup – USER_DATABASES – LOG : Elk uur, CleanupTime = 72 uur
  • CommandLog Cleanup : Maandelijks

sqlmaint03

Een CleanupTime van 72 uur zorgt ervoor dat alleen de backups van de laatste 3 dagen wordt bewaard. De resultaten van deze jobs worden opgeslagen in een [master].tabel genaamd CommandLog

commandlog

Notifications

De gelijknamige job zorgt ervoor dat deze maandelijks opgeruimd wordt. De job-notifications stellen we zodanig is dat failures gemaild (zie Database Mail) worden naar de operator en succesvolle jobs worden genoteerd in de Application event log.

notification