Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica Labo 4 Beheer van databanken Svenia CLAES (3Ti3) Britt JACOBS (3Ti3) Lies VAN DER GOTEN (3Ti3) Wesley VAN VLERKEN (3Ti3) Academiejaar 2010 -2011 SQL Server 2008 R2 - Labo 4 - 2 1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting 1.1 Database Mail Configureer database mail zodat e-mail wordt verstuurd met je eigen emailadres (of e-mailadres [email protected]). Test de verbindingen uit. Ga na of de e-mail is toegekomen. SQL Server 2008 R2 - Labo 4 - 3 SQL Server 2008 R2 - Labo 4 - 4 1.2 Aanmaken operator Maak een operator Jozef aan met een geldig e-mailadres. 1.3 Creëren van een job (1) Installeer de database pubs m.b.v. het script dat je op Toledo vindt. Ga na of pubs een full recovery model heeft. Als dit niet zo is, zorg je ervoor dat het dit recovery model heeft. Pubs had geen full recovery model. SQL Server 2008 R2 - Labo 4 - 5 SQL Server 2008 R2 - Labo 4 - 6 Maak één of meerdere jobs om de databases master, msdb en pubs te backuppen (enkel op werkdagen maandag tot vrijdag): - Elke nacht om 0:00 een volledige back-up van de drie databases, SQL Server 2008 R2 - Labo 4 - 7 - Om 6:00, 12:00 en 18:00 uur een differentiële back-up van pubs, SQL Server 2008 R2 - Labo 4 - 8 Om het uur (behalve om 0:00, 6:00, 12:00 en 18:00 uur) een transaction log back-up. - - SQL Server 2008 R2 - Labo 4 - 9 De back-ups van één werkdag moeten in één backup device worden opgeslagen. De back-ups van de verschillende werkdagen moeten in een ander backup device worden opgeslagen. SQL Server 2008 R2 - Labo 4 - 10 Je werkt het voorbeeld uit voor twee dagen. De jobsteps moeten bestaan uit T-SQL commando’s. Indien de job gedaan is (gelukt of niet), stuur je een mail naar de operator Jozef. SQL Server 2008 R2 - Labo 4 - 11 Je kunt de job testen door ze onmiddellijk uit te voeren. Vraag de eigenschappen van de job op. Overloop de verschillende tabbladen. - Pas de categorie aan in Database Maintenance. Geef als omschrijving van de job: Back-up van de master, msdb en pubs database. SQL Server 2008 R2 - Labo 4 - 12 - Hoeveel jobsteps hebben we hier? 3 Wijzig: De operator Jozef moet enkel een e-mailbericht krijgen als de job faalt. Voer de job opnieuw uit. Krijgt Jozef een e-mailbericht? Nee Wijzig de T-SQL-code zodat het pad niet bestaat. Voer de job opnieuw uit. Krijgt Jozef een e-mailbericht? Vraag de Job History. Selecteer de optie Show step details. SQL Server 2008 R2 - Labo 4 - 13 1.4 Creëren van een job (2) We maken een tabel tblMeldingen in een database Meldingen waaruit we de rijen die ouder zijn dan 14 dagen wensen te verwijderen. We schrijven deze records eerst naar een historische tabel tblMeldingenHist. Als dit laatste gelukt is, verwijderen we de records uit de tabel tblMeldingen. Voorzie in de tabellen tblMeldingen en tblMeldingenHist twee velden, Datum (datetime) en Beschrijving (varchar(100)). Voeg enkele records toe. SQL Server 2008 R2 - Labo 4 - 14 Maak dus een job met twee jobsteps: - 1ste stap: wegschrijven van de rijen die ouder zijn dan 14 dagen naar een historische tabel - 2de stap: verwijderen van de rijen die ouder zijn dan 14 dagen uit de tabel tblMeldingen SQL Server 2008 R2 - Labo 4 - 15 De tweede stap wordt enkel uitgevoerd indien de eerste stap gelukt is. De job moet elke dag uitgevoerd worden om 6:00 uur. Indien de job faalt moet een e-mailbericht gestuurd worden naar de operator Jozef. SQL Server 2008 R2 - Labo 4 - 16 1.5 Creëren van een script van een job Creëer een script van de job uit de vorige oefening. Bewaar het script als jobMeldingen.sql. Bekijk de inhoud van het script. Waar plaatst SQL Server het script-bestand als je geen pad opgeeft? Bibliotheken\Documenten SQL Server 2008 R2 - Labo 4 - 17 1.6 Alert op basis van een severity level Creëer een alert die je een e-mailbericht geeft als een fout optreedt van severity level 18 (in een willekeurige database). Gebruik de wizard Create Alert Wizard. De naam van de alert is AlertSev18. Vraag de eigenschappen op van de alert. Zorg voor een situatie dat de fout optreedt. SQL Server 2008 R2 - Labo 4 - 18 1.7 Alert naar aanleiding van een foutnummer Creëer een alert Login die een e-mail stuurt aan de operator indien de gebruiker sa zich met een fout wachtwoord aanmeldt. Het foutnummer is 18456. Je moet de optie Failure of All selecteren bij Audit level in het tabblad Security van het dialoogvenster SQL Server Properties. Probeer de alert uit door foutief aan te melden in Management Studio. Ga na of de foutmelding ook in het logboek Application van Windows is opgenomen. SQL Server 2008 R2 - Labo 4 - 19 We kunnen niet op eventviewer omdat we niet op Windows Server werken. SQL Server 2008 R2 - Labo 4 - 20 1.8 Performance alert Creëer een performance alert Perf die een e-mail stuurt aan de operator indien het geheugen dat door SQL Server in gebruik is minstens 25 000 KB is. Test de alert uit. Genereer wat activiteit in SQL Server. Eventueel verlaag je de grens. SQL Server 2008 R2 - Labo 4 - 21 1.9 Maintenance plan Maak een maintenance plan met naam Systeemdatabases voor de systeemdatabases. We hebben eerst de nodige taks moeten aanduiden en aanduiden dat we voor elke task een aparte Schedule willen. - - Het plan controleert de database integriteit, inclusief de indexen. Laat niet toe dat er automatisch wijzigingen aangebracht worden. Voer dit elke week, op zaterdagavond, 17:00 uur uit. SQL Server 2008 R2 - Labo 4 - 22 - Herorganiseer de pagina’s van de database. Behoud 10 % vrije ruimte per pagina. De vrije ruimte wordt teruggegeven aan het operating system. Voer dit elke week, op zaterdagavond, 18:00 uur uit. SQL Server 2008 R2 - Labo 4 - 23 - Maak elke week zondag om 2:00 uur een full back-up van de databases. Maak telkens een nieuw bestand in de map C:\Backup. Maak gebruik van compressie. Backups ouder dan 2 weken worden gewist. Schrijf een rapport naar een tekstbestand in de map C:\Backup. Zorg er ook voor dat de operator een mail krijgt. SQL Server 2008 R2 - Labo 4 - 24 SQL Server 2008 R2 - Labo 4 - 25 We hebben bovenstaande fout moeten oplossen. Dit deden we door SQL Management af te sluiten en opnieuw op te starten. Bekijk de verschillende jobs die dit maintenance plan heeft aangemaakt. SQL Server 2008 R2 - Labo 4 - 26 Voer het maintenance plan uit. Toon de uitvoer. SQL Server 2008 R2 - Labo 4 - 27 1.10 E-mail verzenden met stored procedure Verzend een mail met de uitgebreide stored procedure sp_send_dbmail naar jezelf met als onderwerp 'Resultaat query: Totaal aantal producten', gevolgd door het resultaat van de query SELECT COUNT(*) FROM AdventureWorks2008R2.Production.Products Krijg je het e-mailbericht toe? Wat is de inhoud? Ja. Je krijgt het aantal records in de tabel. SQL Server 2008 R2 - Labo 4 - 28 1.11 SQL Server Profiler Zoek op het internet een toepassing van SQL Server Profiler. Werk ze uit. Pas ze toe. SQL Server 2008 R2 - Labo 4 - 29 1.12 Database Engine Tuning Advisor Zoek op het internet een toepassing van Database Engine Tuning Advisor. Werk ze uit. Pas ze toe. SQL Server 2008 R2 - Labo 4 - 30 We hadden te weinig geheugen om dit verder te doen.