330 likes | 720 Views
SQL Server Grundlagen für den Teilzeit-DBA. Steffen Krause Technical Evangelist Microsoft http://blogs.technet.com/steffenk. Agenda. Installation und Konfiguration Datenbanktools Sichern/Wiederherstellen Wartungsaufgaben Hochverfügbarkeit Spezifisches zu Anwendungen.
E N D
SQL Server Grundlagen für den Teilzeit-DBA Steffen Krause Technical Evangelist Microsoft http://blogs.technet.com/steffenk
Agenda • Installation und Konfiguration • Datenbanktools • Sichern/Wiederherstellen • Wartungsaufgaben • Hochverfügbarkeit • Spezifisches zu Anwendungen
SQL ServerWas ist das eigentlich alles? SQL Server Compact Mobile Datenhaltung • Komplette Datenmanagement und Business Intelligence Plattform • Skaliert von Desktop- bis zu Unternehmenslösungen und vom PDA bis zum 64-Bit High-End Rechenzentrum • Bestes Preis-Leistungsverhältnis • alle Komponenten und Werkzeuge enthalten • günstigste Betriebskosten • Kurze Implementierungszeiten Fulltext Engine Volltextsuche, Text Mining SOA Support XML, SOAP, Service Broker Reporting Services Berichtswesen Client-Werkzeuge (Office, SharePoint) und Anwendungen Management-, Design- und Entwicklungs-Werkzeuge Analysis Services OLAP & Data Mining Notification Services Notifications & Alerts Replication Services Daten-Synchronisierung Integration Services ETL/Datentransfer SQL Server Engine Relationale Datenbank
Was brauche ich?SQL Server Editionen • Express • Kostenlos, max. DB-Größe 4GB, nur 32bit • Workgroup • Standard • Enterprise • Alle Features • Evaluation • Wie Enterprise, zeitlich beschränkt • Kein Upgrade von/nach Evaluation möglich • Installation einer Vollversion über Eval ist möglich • Developer • Wie Enterprise, lizenzrechtlich beschränkt • Darf nicht für produktive Systeme eingesetzt werden • Web • Nur für Internet-Sites
Planung • Hardwaresizing ist essenziell • IO und Hauptspeicher sind kritischste Faktoren • Planungstools der Hardwarehersteller können helfen: • Dell: http://www.dell.com/content/topics/global.aspx/tools/advisors/sql_advisor?c=us&cs=555&l=en&s=biz • HP: http://h71028.www7.hp.com/enterprise/cache/3887-0-0-98-121.html
Was brauche ich? - Hardware • … es kommt natürlich immer auf den Anwendungsfall an • SQL Server sollte für Lastsysteme immer auf eigener Hardware laufen • Hauptspeicher: • Viel • Noch mehr • …wenn der gesamte aktive Teil der Datenbank in den Hauptspeicher passt reicht es aber • Echter Hauptspeicher! -> 64bit bei >= 4GB • Prozessor: • meist überschätzt • Lizenzierung ist pro Sockel! Multicore spart also richtig Geld
Was brauche ich? Platten • Die am häufigsten unterdimensionierte Komponente • Kleine Trivialdatenbanken können auf c: bleiben • Ansonsten Grundregeln: • SQL Server Maschinen brauchen mindestens 3 Sätze Platten (physikalisch getrennte Platten!) • Betriebssystem • Daten • Log • Oft auch separate Platten für tempdb sinnvoll • … und für lokales Backup
Was brauche ich?Plattenlayout - Daten • SQL Server Datenplatten machen Random IO • Es geht also weder um Kapazität noch um Transferrate • Es geht um IO Operationen pro Sekunde (IOPs) • Dafür gibt es nur 2 Möglichkeiten • (Schnelle) SSDs • Viele Platten in einem RAID • kleine, schnelle Platten • RAID 10 ist meist gut, RAID 4/5/6 hat oft zu geringe zufällige Schreibrate • SQL Server Log-Platten machen sequential writes • Unbedingt von Daten trennen • RAID 1 oft ausreichend, manchmal auch RAID 10 • Nicht daran stören, dass Log-Platten fast leer sind
Einige Storageempfehlungen • Unbedingt Korrektheit & Performance messen • Sqliosim: Korrektheit, sqlio: Performance • Siehe Webcast „SQL Server Storage Performanceanalyse“ • Volume Alignment mit diskpart.exe • Automatisch bei Windows Server 2008 • NTFS Allocation Size 64kB • Bei SAN: unbedingt auf Anzahl der Platten in den einzelnen LUNs achten! • HBA Queue Depth oft zu klein • Kein Sharing der Disks mit irgendwas • Lokale Plattenkäfige (DAS) oft günstiger als SAN • Bei Virtualisierung: Keine dynamischen Disks verwenden! • Siehe Whitepaper
Installation • Systemvoraussetzungen (.NET, Installer 4.5,…) können getrennt installiert werden • Parallelinstallation mehrerer Instanzen möglich (SQL 2000 SP4, SQL 2005, SQL 2008) • Aber wegen Kampf um Hauptspeicher und IO nicht für Lastsysteme empfohlen • Nur die notwendigen Komponenten installieren:
Installation 2 • Das SQL Server Dienstkonto sollte kein Administrator in Windows sein • Sortierung • Wenn nichts anderes von der Anwendung erwartet: Latin1_General_CI_AS • Daten, Log und Backup-Verzeichnisse bei der Installation festlegen! • Geht nur bei SQL Server 2008 • Dienstkonto muss Schreibrechte haben • Beispiel-Datenbanken und Codebeispiele sind in SQL 2008 NICHT mehr enthalten • http://www.codeplex.com/MSFTDBProdSamples
Agenda • Installation und Konfiguration • Datenbanktools • Sichern/Wiederherstellen • Wartungsaufgaben • Hochverfügbarkeit • Spezifisches zu Anwendungen
Management Studio • SSMS 2008 kann auch SQL 2000 & 2005 verwalten (außer Analysis Services 2000) • Integriertes Management • Database Engine, Analysis Services, Reporting Services, SQL Server Mobile, Integration Services • auch für ältere SQL Server Versionen (außer SSAS vor 2005) • Server-Reports und Server-Dashboard • Komfortable Editoren und Templates • Integration in die Visual Studio-Umgebung • Versionskontrolle, Teamsupport • T-SQL Debugger in SSMS 2008 • Verwaltung vieler Server und vieler Objekte • Einfachste Durchführung von Routine-Aufgaben
Wie komme ich dahin?Configuration Manager • 3 Teile: • Dienstkonfiguration • Startparameter, Trace Flags • Systemverzeichnisse • Dienstkonto nur hier ändern! • Server-Netzwerkkonfiguration • Aktivierte Protokolle (Express & Developer Standard nur lokal) • Kommunikations-Verschlüsselung • ohne und mit Zertifikat • Client-Netzwerkkonfiguration • Protokolle mit Reihenfolge • Aliase, damit man später besser umziehen kann
Weitere Tools • Immer die Tools der neuesten installierten SQL Server Version verwenden! (Außer BIDS für Reporting Services) • Sqlcmd – Kommandozeilenzugriff • Kann mit „Dedicated Admin Connection“ auf ausgelasteten Server verbinden • Profiler • Überwachung der Datenbankaktivität • Ereignisse sorgsam auswählen, kann sehr viel Last erzeugen • Auf Testmaschine üben! • Datenbank(modul)-Optimierungsratgeber • Schlägt Indizes, Partitionierung u.a. auf Basis der DB-Last vor • Nicht blind implementieren! • Business Intelligence Development Studio (BIDS) • Visual Studio mit Addins für Reporting, Analysis, Integration Services
Agenda • Installation und Konfiguration • Datenbanktools • Sichern/Wiederherstellen • Wartungsaufgaben • Hochverfügbarkeit • Spezifisches zu Anwendungen
Sicherung und Wiederherstellung • Vor allem anderen: Haben Sie einen Notfallplan (im Detail) und testen sie ihn!
Sichern und WiederherstellenWiederherstellungsmodelle • Vollständig • Alle schreibenden Operationen werden im Transaktionslog protokolliert • Wiederherstellung zum aktuellen Zeitpunkt oder zu jedem beliebigen Zeitpunkt (point in time) • Massenprotokolliert • Bulk Copy (BCP), SELECT … INTO, CREATE INDEX, WRITETEXT, UPDATETEXT werden nur minimal im Transaktionslog protokolliert • In Transaktionsprotokollsicherung Datenseiten dieser Vorgänge enthalten • Kein Point in Time Restore • Einfach • Transaktionsprotokoll wird abgeschnitten, wenn Datenseiten geschrieben sind • Massenprotokollierte Vorgänge minimal protokolliert • Restore nur auf den Zeitpunkt der Sicherung
Grundlagen der Sicherung • Vollständig und Massenprotokolliert: Sie müssen Log-Sicherungen machen • Oft bis sehr oft! Hält Log klein • Vollständige Kette von Log-Backups ist essentiell • Einfach: Sie können keine Log-Sicherungen machen • Datenbanken und Sicherungen haben auf allen Plattformen (x86, x64, IA64) dasselbe Format und sind austauschbar • Sicherungen von alter Version können auf neuer Version wiederhergestellt werden • z.B. Sicherung auf SQL Server 2000, Wiederherstellung auf SQL Server 2008 • Nicht umgekehrt! • Upgrade erfolgt beim Restore • Sicherungen können immer auf höherwertigen Editionen wiederhergestellt werden • Im Notfall Developer Edition für Restore verwenden
Best Practices • Verwenden Sie immer Online-Backups • Ausnahme: Snapshot-Backups bestimmter SAN-Hersteller sind ebenso gut (VSS-Support) • BACKUP hält keine Locks (Sperren), Transaktionen warten also nicht • Verwenden Sie Datenbankwartungspläne oder UI + Script-Action zur Erstellung von Backup Jobs • Lesen Sie Books Online vor dem Erstellen eines Backup-Plans und vor einem Restore • Behalten Sie mehr als eine vollständige Sicherung (Großvater/Vater/Sohn Prinzip) • Bei vollständig/massenprotokolliert + komplette Log-Sicherungen • Master und msdb sichern!
Agenda • Installation und Konfiguration • Datenbanktools • Sichern/Wiederherstellen • Wartungsaufgaben • Hochverfügbarkeit • Spezifisches zu Anwendungen
Grundlegende Wartungsaufgaben • Dateigrößen überwachen • Sichern und Überprüfung der Sicherung • Überprüfung der Protokolle • Windows-Ereignisanzeige • SQL Server Protokolle • Defragmentierung bzw. Neuerstellung der Indizes • Ggf Statistiken aktualisieren • Datenbankkonsistenz prüfen • Performance optimieren • Aber das ist ein anderes Thema • Alle Änderungen dokumentieren
Der WartungsplanDein Freund und Helfer • Grafisches Tool im Management Studio • Vereinfacht Standard-Wartungsaufgaben • 2 Sichten • Wartungsplan-Assistent • Wartungplan-Editor • Kann einfach mit Zeitplan versehen werden • Bedingungen, Benachrichtigungen, weitere Schritte können im Wartungplan-Editor hinzugefügt werden
Zusammenfassung Datenbankwartung • Shrink (verkleinern) nicht ausführen • Weder im Wartungsplan noch sonst • Statistiken aktuell halten • Nicht jede Nacht Indizes neu erstellen • Fragmentierung und ihre Effekte verstehen, Gründe beseitigen • Sichern und Sicherungen prüfen • Man hat keine Sicherung, solange man nicht sicher ist, sie wiederherstellen zu können • Regelmäßig Konsistenzprüfungen ausführen um Hardwareprobleme zu erkennen • Seitenprüfsummen einschalten
Ressourcen • Webcasts • http://www.microsoft.com/germany/technet/webcasts • Blog Steffen Krause • http://blogs.technet.com/steffenk • SQL Customer Advisory Team • http://www.sqlcat.com • Books Online, aktuellste Version! • Storage Design Whitepaper • http://technet.microsoft.com/en-us/library/cc966414.aspx • SharePoint und SQL • http://technet.microsoft.com/en-us/library/cc263261.aspx • User Group: SQLPASS • http://www.sqlpass.org
Your MSDN resourcescheck out these websites, blogs & more! PresentationsTechDays: www.techdays.chMSDN Events: http://www.microsoft.com/switzerland/msdn/de/presentationfinder.mspxMSDN Webcasts: http://www.microsoft.com/switzerland/msdn/de/finder/default.mspx MSDN EventsMSDN Events: http://www.microsoft.com/switzerland/msdn/de/events/default.mspxSave the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin MSDN Flash (our by weekly newsletter)Subscribe: http://www.microsoft.com/switzerland/msdn/de/flash.mspx MSDN Team BlogRSS: http://blogs.msdn.com/swiss_dpe_team/Default.aspx Developer User Groups & CommunitiesMobile Devices: http://www.pocketpc.ch/Microsoft Solutions User Group Switzerland: www.msugs.ch.NET Managed User Group of Switzerland: www.dotmugs.chFoxPro User Group Switzerland: www.fugs.ch
Your TechNet resourcescheck out these websites, blogs & more! PresentationsTechDays: www.techdays.ch TechNet EventsTechNet Events: http://technet.microsoft.com/de-ch/bb291010.aspx Save the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin TechNet Flash (our by weekly newsletter)Subscribe: http://technet.microsoft.com/de-ch/bb898852.aspx Schweizer IT Professional und TechNet BlogRSS: http://blogs.technet.com/chitpro-de/ IT Professional User Groups & CommunitiesSwissITPro User Group: www.swissitpro.chNT Anwendergruppe Schweiz: www.nt-ag.chPASS (Professional Association for SQL Server): www.sqlpass.ch
Save the date for tech·days nextyear! 7. – 8. April 2010Congress Center Basel
Premium Sponsoring Partners Classic Sponsoring Partners Media Partner