860 likes | 1.26k Views
SQL Server 2008 { Migration und Upgrade }. Artus Krohn-Grimberghe MCT PASS Deutschland e.V . Agenda. Warum migrieren? Migration von SQL Server 2000 / 2005 Migration von Access zu SQL Server Migration von Oracle zu SQL Server. Warum migrieren. Generell bedeutet eine Datenbank-Migration
E N D
SQL Server 2008{Migration und Upgrade} Artus Krohn-Grimberghe MCT PASS Deutschland e.V.
Agenda • Warum migrieren? • Migration von SQL Server 2000 / 2005 • Migration von Access zu SQL Server • Migration von Oracle zu SQL Server
Warum migrieren • Generell bedeutet eine Datenbank-Migration • Risiko • Kosten • Aufwand • Bis hin zur kompletten Neuerstellung • Aber:
Warum migrieren • Stabilität • Performance • Skalierbarkeit • Compliance • Kontrolle • Konsolidierung • Gelegenheit, Code zu überarbeiten
SQL Server 2000 EOL • Ende des Mainstream Support am 08. April • http://support.microsoft.com/lifecycle/?LN=en-us&p1=2852&x=17&y=10 • Extended Support bis 09. April 2013 • Security Patches
Agenda • Warum migrieren? • Migration von SQL Server 2000 / 2005 • Migration von Access zu SQL Server • Migration von Oracle zu SQL Server
Migration von SQL Server 2000 / 2005 • Vorgehen • Hilfsmittel 1: Upgrade Advisor • Hilfsmittel 2: Upgrade Assistant • Erfahrungen
Vorgehen • Anforderungen ermitteln (Edition, Hardware) • Pre-Upgrade Aufgaben • Dokumentation des bestehenden Systems • Rollback Plan ausarbeiten & testen • Test für die Validierung und Performance Messung definieren • Baseline erstellen • Upgrade Advisor & Upgrade Assistant • Kompatibilität der Anwendungen testen • Upgrade • Post Upgrade Aufgaben
Upgradepfade • Versionen • SQL Server 2000 SP4 • SQL Server 2005 SP2+ • Komponenten • Relationale Engine (Datenbank Engine) • Reporting Services (IIS oder http.sys?) • Notification Services (deprecated in 2008) • DTS (deprecated in 2008) • Analysis Services (Cubes migrieren!) • Integration Services • Plattformen, Sprachen
Variante 1: In-place Upgrade • Ähnlich wie bei 2000 zu 2005 Upgrade • Aktualisiert bestehende Installation (Binaries) während Nutzerdaten bestehen bleiben • Name der Instanz bleibt derselbe • Weitgehend automatischer Prozess SQL Server 2000/2005 Instanz SQL Server 2008 Instanz Upgrade
Vor- und Nachteile Upgrade • Vorteile • Einfacher weil fast vollständig automatisch • Insgesamt recht schneller Prozess • Benötigt keine zusätzliche Hardware • Applikationen zeigen weiterhin auf gültigen Server / Datenbank • Nachteile • Nur grobe Kontrolle über den Upgradeprozess • Instanz über weite Teile des Upgrades offline • Keine bestpractice für alle Komponenten • Rollback „komplex“
Variante 2: side-by-side Migration • Installation einer neuen Instanz des SQL Server • Datenbankobjekte werden kopiert • Database Copy Wizard • Kopiert keine Erweiterten Gespeicherten Prozeduren, Alerts, DTS Pakete, Linked Server • Detach / Attach • Backup / Restore • Objekte leben nun „nebeneinander“ • Überwiegend „händischer“ Prozess
Vergleichen and Verifizieren Variante 2: side-by-side Migration SQL Server 2000/2005 Instanz SQL Server 2008 Instanz Abgenommen
Vor- und Nachteile Migration • Vorteile • Feingranulare Kontrolle über den Prozess • Datenbank Level • Kann als Migrations-Test genutzt werden • Dokumentieren & Kennzahlen festlegen • Systeme können zum Testen und Verifizieren nebeneinander laufen • Synchronisation beachten • Einfaches Rollback • Potenziell geringere Downtime • Nachteile • Zusätzliche Hardwarekosten • Änderungen im Server- / Datenbanknamen • Problematisch bei VLDB ohne SAN
Upgrade vs. Migration • Faktorenfür die Entscheidung • Databank-Größe und Anzahl der Objekte • Lokale Maintenance Jobs • Maximal akzeptable Downtime • Kapazität & Alter der Hardware • Abhängigkeiten von System & andererAnwendungen • Zeitfür Roll back
Migration von SQL Server 2000 / 2005 • Vorgehen • Hilfsmittel 1: Upgrade Advisor • Hilfsmittel 2: Upgrade Assistant • Erfahrungen
Hilfsmittel 1: Upgrade Advisor • Analysiert SQL Server 2000/2005 Datenbanken, Traces und T-SQL Skripte • Erstellt einen Report über • Gefundene Probleme • BlockingIssues • Pre-Upgrade Issues • Post-Upgrade / Migration Issues • Vorschlagsliste zum Beheben • Immer die neueste Version aus dem Internet laden
Migration von SQL Server 2000 / 2005 • Vorgehen • Hilfsmittel 1: Upgrade Advisor • Hilfsmittel 2: Upgrade Assistant • Erfahrungen
Hilfsmittel 2: Upgrade Assistant • Zusätzlich zum Upgrade Advisor • Ermöglicht Test der tatsächlichen T-SQL Ausführung gegen SQL Server • Kann Änderungen in Ausführung und Resultaten erkennen • Basiert auf der Profiler / Trace API • Gemeinsam von Microsoft und ScalabilityExperts entwickelt • Kostenfreier Download unter www.scalabilityexperts.com
Der Upgrade Assistant-Prozess • Realistischen Replay-Trace sammeln • Trace gegenTestsystem (2000/2005) abspielen, um Baseline aufzustellen • Upgrade Advisor gegen Test ausführen und gefundene Probleme beheben • Upgrade von Test auf 2008. Trace erneutabspielenmit Upgrade Assistant • Resultate auf Unterschiede untersuchen und bewerten
Der Upgrade Assistant-Prozess • Optional • Gegen Kompatibilitätslevel 100 testen • Eigentliche Anwendung gegen 2008 testen • VPC mit Anwendung auf Testsystem „loslassen“ • Performance testen und optimieren • Ggf. Anwendung auf neue Features umstellen
Schwierigkeiten • Einige Anfragen werden im Replay immer Fehler generieren: • CURSOR • Fehler da Cursor Handle während Ausführung neu zugewiesen. Anfrage wird dennoch korrekt ausgeführt • Explizite Transaktionen • Siehe Cursor • SETUSER • Explizit oder durch das System schlagen fehlt, sofern kein Domänen Controller kontaktiert werden kann. Anfragen laufen trotzdem (unter Profiler Kontext!) • Vorsicht: Default Schema!
Vergleich: Advisor & Assistant • Microsoft SQL Server 2008 Upgrade Advisor • untersucht, welche Funktionalität durch unterstützte Varianten ersetzt werden muss • SQL Server Upgrade Assistant • dient zum Abspielen von ProfilerTraces gegen Baseline und Test um Unterschiede in den Resultaten aufzudecken • Entdeckt potentielle Probleme bei • dynamischem T-SQL, • Meta-Daten gestützten Anwendungen und • Änderungen an Verhalten von Systemobjekten
Migration von SQL Server 2000 / 2005 • Vorgehen • Hilfsmittel 1: Upgrade Advisor • Hilfsmittel 2: Upgrade Assistant • Erfahrungen
Änderungen beim Query Optimizer • Statement Level Recompile! • „Filter (z.B. WHERE Klauseln und JOINs) werden nicht unbedingt vor dem Berechnen der Ergebnisspalten angewendet.“ • Aggressivere Parallelisierung • Für OLTP Datenbanken teilweise zu ausgeprägt • MAXDOP • http://msdn2.microsoft.com/de-de/library/ms188295.aspx
TempDB • Tempdb wird signifikant stärker belastet • Neue Feature • Alte Feature, die nun tempdb nutzen • LOBs („max“ Datentypen, xml) • RowVersioning wird aus tempdb gespeist • Index Rebuild: Online & sort_in_tempdb • Trigger nutzen nun nicht mehr das Log, sondern tempdb für inserted und deleted • http://msdn2.microsoft.com/de-de/library/ms345368.aspx
SQL Server 2008 und SAP • SAP plant den Support von SQL Server 2008 nurfür 64Bit Editionen • Support für SAP auf Windows Server 2008 und SQL Server 2008 geplantnurfürNetweaver 7.0+ in 64Bit • http://blogs.msdn.com/saponsqlserver/archive/2007/10/14/sap-support-for-windows-server-2008-and-sql-server-2008.aspx
Migration zu 64 Bit • OLE DB Provider für 64 & 32 Bit installieren • Z.B. SSIS Paket-Ausführung • Visual Studio auf 64 Bit nicht supported • Script Code vorkompilieren! • Für OLTP Datenbanken mit „kleinem“ Memory-Footprint eher 32 Bit • Linked Server gegen 2000 und 7.0 nur mit SP3+ • http://support.microsoft.com/default.aspx?scid=kb;en-us;906954
Teil-Fazit • Upgrades sind konzeptionell einfach • Roll-back Plan ist von zentraler Bedeutung! • Deprecated Features beachten! • Experten „zur Hand haben“ während Upgrade / Migration schadet nicht ;-)
Ressourcen • Liste der abwärtskompatiblen, veralteten (deprecated) und entfernten Feature • http://msdn2.microsoft.com/de-de/library/ms143232(SQL.100).aspx • BehaviorChanges in SQL Server 2005 • http://msdn2.microsoft.com/de-de/library/ms143359.aspx • Änderungen im Query Optimzier • http://msdn2.microsoft.com/de-de/library/ms188295.aspx
Ressourcen • SQL Server 2005 Upgrade Technical Reference • http://www.microsoft.com/downloads/details.aspx?familyid=3D5E96D9-0074-46C4-BD4F-C3EB2ABF4B66&displaylang=en • SQL Server 2005 Upgrade Handbook • http://www.microsoft.com/technet/prodtechnol/sql/2005/sqlupgrd.mspx • Upgradingto SQL Server 2005: FAQ • http://download.microsoft.com/download/b/8/4/b8463723-c3b9-439e-828b-50d7981d5d26/FY08%20SQL%20Server%202005%20Upgrade%20Customer%20FAQ.pdf
Ressourcen • Upgrade Advisor • http://www.microsoft.com/downloads/details.aspx?FamilyID=1470e86b-7e05-4322-a677-95ab44f12d75&DisplayLang=en • Upgrade Assistant • http://www.scalabilityexperts.com/default.asp?action=article&ID=90
Agenda • Warum migrieren? • Migration von Microsoft SQL Server 2000 • Migration von Access zu SQL Server • Migration von Oracle zu SQL Server
Migration von Access zu SQL Server • Datenbank-Evolution • Gründe für eine Migration • Zielarchitekturen und Produkte • SSMA für Access
Datenbank-Evolution • Einfache („handgestrickte“) Access-Datenbanken entwickeln sich über die Zeit zu Abteilungs-Lösungen • Wenige dieser Datenbanken werden aber entsprechend neu entworfen oder re-designed • Fachabteilungen sind keine Experten für Entwurf von multi-user Datenbanken • Mehr Hardware hilft nicht auf Dauer • Entwicklung von „Undercover-Datenbanken“ nicht kontrollierbar • Organisationen und Unternehmen müssen sich auf dieses Phänomen einstellen
Migration von Access zu SQL Server • Datenbank-Evolution • Gründe für eine Migration • Zielarchitekturen und Produkte • SSMA für Access
Gründe für eine Migration • Stabilität • Konsolidierung • Performance • Skalierbarkeit • Datensicherung • Compliance • Kontrolle
Migrationskandidaten Regelmäßige (z.B. halbjährliche) Bewertung ~5% aller Access Applikationen Migration erforderlich! • Stabilität • Konsolidierung • Performance • Skalierbarkeit • Sicherheit • Compliance
Standard Access Architekturen • Single User Access und JET • Multi User Access und JET mitFilesharing Migrationskandidaten
Access, JET and SQL Server Architekturen mit SQL Server • Client Server Architektur mit Access-Frontend Zielarchitektur Aber: Design & Performance prüfen • Diesen Weg wählt der Migration Assistant • Auf „Access-Cursor“ prüfen
Architekturen mit SQL Server (2) • Client Server ohne JET • Access Projekt (ADP) • Nativer OLE-DB Zugriff auf SQL Server • kein ODBC nötig • Keine Daten oder Datendefinitionen in Access • Sehr interessante Technologie • Leider keine Zukunft Frontend migrieren!
Migration von Access zu SQL Server • Datenbank-Evolution • Gründe für eine Migration • Zielarchitekturen und Produkte • SSMA für Access
Zielarchitekturen und Produkte SQL Server Sharepoint Daten- haltung Reporting Services Share point Access Berichte Visual Studio & .NET InfoPath, Office Forms Server oder Sharepoint User Interface Access
Option: Re-Design • Bei jeder Migration sollte man die Chance zu einem Re-Design nutzen • Regelmäßiges Codereview implementieren • Simples Verschieben der Daten ist die schlechteste Lösung! • Neu-Entwurf der Anwendung als Option • entweder komplett oder nur Frontend / Backend • oft mit Zusammenfassung verschiedener, ähnlicher und verwandter Anwendungen • erfordert höheren Analyse-Aufwand
Migrations-Werkzeuge • Erfassung der Ist-Situation • Access 2003 Conversion Reporting Toolkit • Schema- und Datenmigration • SSMA for Access • ETL mit DTS/SSIS, Visio, Data Dude • Reporting Services • Import von Access-Berichten