1




    DigiComp Academy AG

    SQLDAY 31.05.2012
    Upgrade und Migration auf SQL
    Server 2012
2




    Alexander Jahn
    MS SQL Server Trainer und
    Consultant seit 1996
    IT – Seminare und Projekte
    von KMU bis Konzern
3




    Zeitlicher Rahmen
    13:00 Uhr – 13:45 Uhr
4




    Upgrade und Migration auf SQL
    Server 2012
5
    Sieben Gründe, diese Session zu besuchen:	
  

    •  Eine	
  Migra+on	
  ist	
  schon	
  in	
  Planung	
  
    •  Mentale	
  Vorbereitung	
  auf	
  das	
  Kommende	
  
    •  Um	
  Neuerungen	
  in	
  SQL	
  Server	
  2012	
  und	
  
       Unterschiede	
  zu	
  früheren	
  Versionen	
  zu	
  erfahren	
  
        Ø Tja,…	
  Pech!(Leider	
  eine	
  andere	
  Session)	
  
    •  Um	
  vor	
  den	
  BI-­‐Sessions	
  zu	
  flüchten	
  
    •  Um	
  bei	
  der	
  Migra+on	
  der	
  Produk+vsysteme	
  nicht	
  
       etwas	
  Spaß	
  mit	
  der	
  GL	
  haben	
  zu	
  müssen…	
  
    •  Um	
  jetzt	
  schon	
  Spaß	
  haben	
  zu	
  können	
  
6




    FERTIG !
7




       •  Noch Fragen ?
    •  Auf Wiedersehen !

      •  Nee ! Scherz !
8
                          Wo soll ich nur beginnen?




    Mein Ziel:

    n  Zeigen, wie umfangreich eine Migration sein kann
    n  Auf Stolperfallen hinweisen
    n  Verschiedene Migrationsmöglichkeiten auflisten
    n  Versuche so viel wie möglich zu zeigen und zu erwähnen
      (Vollständigkeit ist nicht gewährleistet)
9




    Wer von Ihnen hat eine gute Dokumentation
       über die vorhandenen SQL Server ?

             Bitte um Handzeichen !
Auf was ist alles zu achten ?
                                                                                                                   Client	
  Anbindung	
  /	
  
Datenbanken	
       User	
  /	
  Logins	
             sp_configure	
                      Anwendungen	
                Schni[stellen	
  

Compa+bility	
                                          Monitoring	
                                                 (Filestream)	
  
                     Replika+on	
                                                        Server	
  Colla+on	
  
   Level	
                                                Tools	
                                                       Shares	
  
                                                                                                                   (ist	
  und	
  hat)	
  
  Wartung	
                                     SQL	
  Server	
  200x	
                                           Linked	
  Server	
               Hier	
  war
                                                mit	
  x	
  ε	
  {5,	
  8,	
  8R2}	
  
                                                                                                                                                   dann	
  die
Virenscanner	
                                                                                                      Trace	
  Flags	
  
                                                                                                                                                  Folie	
  voll…
Lokale	
  WIN	
         Security	
              SQL	
  Server	
  2012	
                   Repor+ng	
  
                                                                                                                  Endpoints,	
  Snapshots	
  
                        Konzept	
               f.a.k.a.	
  „Denali“	
                     Services	
  
User/Groups	
                                                                                                      Powershell,	
  XEvents	
  
                        Recovery	
              Neue	
         Neues	
  	
                 Integra+on	
  
                        Konzept	
                                                            Services	
  
     Jobs	
                                   Box(en)?	
          OS?	
                                              XPs	
  /	
  DLLs	
  
                         Ausfall	
              Neue	
                                     Analysis	
  
                                                              Firewall?	
  
                        Konzept	
             Storage?	
                                   Services	
  
    Alerts	
                                                                                                       SPs	
  (master)	
  

                      Resource	
                                                         Policy	
  Based	
  
     Mail	
                                         Group	
  Policies	
                                                    CLRs	
  
                      Governor	
                                                         Management	
  
                        Migra+onskonzept	
  /	
  Methoden	
  /	
  Projektplan	
  
11




               Spätestens jetzt
     sollte auch der letzte DBA einsehen,
          dass es sich wahrlich lohnt,
     eine gute Dokumentation zu haben!
12




     Migrationsmethoden
13    Migrationsmethoden

     n Inplace Migration
      p = SQL Server 2012 „drüberbügeln“
      p Lange Downtime

      p Point Of No Return: Konvertierung der
        Datenbanken
      p Geht nicht für x86 -> x64

      p Ergebnis: SQL Server mit Migrationshintergrund


                       Das möchte ich nicht !
14   Migrationsmethoden

     n Side-by-Side Migration
      p Neue  SQL Server 2012 Instanz (Named
        Instance)
      p Name = ComputernameInstance

      p Komplizierter im Cluster

      p Geht auch nicht für x86 -> x64

      p Alte Produktionsmaschine wird verändert

           Also ich möchte das auch nicht !	
  
15   Migrationsmethoden
     NEUER SERVER
     n  Nachteile
       p  Viel  Arbeit!
         p  Kostet

     n  Vorteile
         p  „Saubere“ Umgebung

         p  Erlaubt ausführliche Tests

         p  Leichtere Implementierung neuer Technologien
         p  Kann während der Produktion vorbereitet werden

         p  Minimale Downtime

         p  Kein Point Of No Return


                     Das	
  möchte	
  ich!	
  
16




     Planung
17




     „Eine Schlacht wird in der Planung gewonnen,
               nicht erst auf dem Feld.“


          Und das bedeutet viel Detailarbeit.
18   Planung

     n Neue Hardware kaufen?
     n Neues OS kaufen?
     n … SQL Server 2012 kaufen?
     n Welche Anwendungen/Systeme/User sind betroffen?
     n Was ist besonders business critical? (Testaufwand)
     n Werden alle Anwendungen vom Hersteller
        auf SQL2012 supported?
     n Benötigen irgendwelche Datenbanken irgendwelche oder
        gar nicht mehr vorhandene Kompatibilitätslevel (z.B.
        SQL2K)?
     n Maximale Downtime?
19   Planung

     n Virtualisierung?
     n Konsolidierung?
     n OS
       p Neues OS (Win2008R2 / Windows 2012)?

       p x86 -> x64?

       p OS Konfiguration
          Performance-Einstellungen, Sicherheit (Benutzer,
          Gruppen, Gruppen Richtlinien,…)
       p Virenscanner – funktioniert der alte noch?

       p SQL Server Dienstkontoprivilegien
20   Planung

     n Physikalisches Design (Storage)
     n SQL Server Konfiguration
     n Anwendungskonnektivität
       p Alter Clustername = Neuer Clustername?
          bzw. alter SQLServerName = Neuer SQLServerName?
       p DNS-Alias?
       n  Für Freigaben ggf. „DisableStrictNameChecking“ in Registry?
         (Im Win2k08-Cluster – Das geht so nicht mehr…)
     n Wie gesagt, …Detailarbeit
21




     SQL Server Installation
22   SQL Server Installation


     n  Auf richtige Server Collation achten, relevant für tempdb
       (siehe http://www.collation-charts.org/mssql/)
     n  Auf Trace Flags achten
       die Einen gibt es nicht mehr (z.B. 4116),
       die Anderen braucht man vielleicht noch (z.B. 1118)
     n  Grundsätzlich auf alle bisher vorhandenen Serverobjekte achten, die in master
       oder msdb leben
        (Linked Server, Endpunkte, XEvents (neu machen!), Jobs,
        Alerts,…)
     n Resource Governor (Wohl dem, der Skripte hat)
     n Und wer keine Doku hat, der dokumentiert jetzt
Migrationsgedanken

                                                                                                                  Client	
  Anbindung	
  /	
  
Datenbanken	
       User	
  /	
  Logins	
             sp_configure	
                      Anwendungen	
               Schni[stellen	
  

Compa+bility	
                                          Monitoring	
                                                (Filestream)	
  
                     Replika+on	
                                                        Server	
  Colla+on	
  
   Level	
                                                Tools	
                                                      Shares	
  
                                                                                                                   (ist	
  und	
  hat)	
  
  Wartung	
                                     SQL	
  Server	
  200x	
                                           Linked	
  Server	
  
                                                mit	
  x	
  ε	
  {5,	
  8,	
  8R2}	
  
Virenscanner	
                                                                                                      Trace	
  Flags	
  

Lokale	
  WIN	
         Security	
              SQL	
  Server	
  2012	
                    Repor+ng	
  
                                                                                                                  Endpoints,	
  Snapshots	
  
                        Konzept	
               f.a.k.a.	
  „Denali“	
                      Services	
  
User/Groups	
                                                                                                     Powershell,	
  Xevents	
  
                        Recovery	
              Neue	
         Neues	
  	
                 Integra+on	
  
                        Konzept	
                                                            Services	
  
     Jobs	
                                   Box(en)?	
          OS?	
                                              XPs	
  /	
  DLLs	
  
                         Ausfall	
              Neue	
                                     Analysis	
  
                                                              Firewall?	
  
                        Konzept	
             Storage?	
                                   Services	
  
    Alerts	
                                                                                                      SPs	
  (master)	
  

                      Resource	
                                                         Policy	
  Based	
  
     Mail	
                                         Group	
  Policies	
                                                   CLRs	
  
                      Governor	
                                                         Management	
  
                        Migra+onskonzept	
  /	
  Methoden	
  /	
  Projektplan	
  
24   Datenbanken


     n Funktionieren die Stored Procedures, Views und
      Funktionen noch ?

     n Funktioniert die Applikation (der Anwendungscode) noch ?
     n Und all das andere…?
25   Datenbanken

     Vorher bitte lesen:
     Deprecated Features in SQL Server 2012
     http://msdn.microsoft.com/en-us/library/ms143729(v=sql.110).aspx


     Man nehme:
     SQL Server 2012 Upgrade Advisor

     Man gebe:
     Dem Upgrade Advisor einen Server Trace (Replay
     template), um den Anwendungscode zu checken
26   Datenbanken

     Optionen die Migration durchzuführen

      p  Backup/Restore   (Full/Diff/Log)
      p  Replikation

      p  Database    Copy (Dateisystem oder Objekte)
      p  SAN detach/attach (point of no return)

      p  HW-basierter SAN Mirror-Snapshot

      p  „Manuelles Log Shipping“

          n  Nach Go-offline die letzten Transaktionslogbackups restaurieren
          n  Wenige Minuten Ausfallzeit
      p  Datenbankspiegelung?

          n  Ausfallzeit nur wenige Sekunden!
          n  Spiegelung allerdings nur One Way von Alt nach Neu
27   Datenbanken

     n  Was ist noch zu beachten
       p  Compatibility    Level
         p  SQL Server 2000 Datenbanken müssen erst nach
             SQL2005/2008 angepasst und migriert werden
             Compatibility Level >= SQL2005!
         p  CLRs testen, in SQL Server enablen

     n  Ablauf (Bei Migrationsmethode DB – Mirroring)
         p  Spiegelung einrichten (Principal >=SQL2005)
             Zum Migrationszeitpunkt FAILOVER zu SQL Server 2012
         p  Witness hat (in CTP3) keine Wirkung
             (Principal weg, Mirror geht nicht online… Bug oder Feature?)
         p  Spiegelung auf SQL Server 2012 entfernen

         p  Alle Clients irgendwie umleiten



                   Ich würde die Backup / Restore Methode bevorzugen
Datenbanken


Replikation
n  Herausgeber (Publisher)
n  Abonnent (Subscriber)
n  Verteiler (Distributor)


Komplexität hängt vom Szenario ab


http://msdn.microsoft.com/en-us/library/ms143699(v=sql.110).aspx
Datenbanken


n  Logins sollten vorbereitet werden
  p  Lokale    Windows Groups und User nicht vergessen
    p  Problem: „Default Database“

        n  Datenbank (zur Not namensgleiche DummyDB)
            muss auf Zielserver vorhanden sein
        n  Restore-Sync für Mirror mit „replace“ wg. dbid
n  Alles, was irgendwie zu den
    Datenbank-Anwendungen gehört,
    sollte auch vorbereitet werden
  (XPs, master-SPs, Jobs, Linked Server, Fileshares, CLR-enabled,…)
Logins


Problem:

n  User-SIDs in (migrierten) Datenbanken referenzieren Login-SID
n  Kein Problem für Domain-Accounts (Domain-SID)
n  Für SQL Server authentifizierte Logins muss Login-SID und DBUser-SID auf
    dem neuen Server identisch sein, sonst verwaiste User
n  Ratsam: Vor der Migration auf dem Quellsystem bereits verwaiste User
    recherchieren und ggf. säubern (drop user)




                                                                               30
Logins
Verwaiste User erkennen mit
http://msdn.microsoft.com/de-de/library/ms174378.aspx

           USE	
  <database_name>;	
  
           GO;	
  	
  
           sp_change_users_login	
  @Action='Report';	
  
           GO;	
  
           	
  
           	
  
           	
  
	
  
           	
  
Besser:	
  	
  
Erst	
  gar	
  keine	
  verwaisten	
  User	
  auoommen	
  lassen.	
  
Logins


  CREATE LOGIN loginName { WITH <option_list1> | FROM
  <sources> }
  <option_list1> ::=
     PASSWORD = { 'password' | hashed_password HASHED }
  [ MUST_CHANGE ]
     [ , <option_list2> [ ,... ] ]
  <option_list2> ::=
     SID = sid
     | DEFAULT_DATABASE = database
     | DEFAULT_LANGUAGE = language
     | CHECK_EXPIRATION = { ON | OFF}
     | CHECK_POLICY = { ON | OFF}
     | CREDENTIAL = credential_name
Logins
n  Create	
  Login	
  Script erzeugen aus:
      select	
  *	
  from	
  sys.server_principals	
  
      select	
  *	
  from	
  sys.syslogins	
  
      	
  
n  sp_help_revlogin
    http://support.microsoft.com/kb/246133

n  Angepasstes von Alex Jahn verwenden (für einzelne Datenbanken)
Logins


n  Bitte nicht alle Logins übernehmen !
    (…)	
  WHERE	
  p.name	
  not	
  in	
  (	
  
    'sa',	
  
    '##MS_SQLResourceSigningCertificate##',	
  
    '##MS_SQLReplicationSigningCertificate##',	
  
    '##MS_SQLAuthenticatorCertificate##',	
  
    'VORDEFINIERTAdministratoren',	
  
    'NT-­‐AUTORITÄTSYSTEM',	
  
    'SQL2005SQLServer2005MSSQLUser$SQL2005$MSSQLSERVER',	
  
    'SQL2005SQLServer2005SQLAgentUser$SQL2005$MSSQLSERVER',	
  
    'SQL2005SQLServer2005MSFTEUser$SQL2005$MSSQLSERVER',	
  
    '##MS_AgentSigningCertificate##',	
  
    'SQLDOMsqlservice	
  
    )	
  
Logins


Vorher:
n  evtl. Windows local Groups / User anlegen
n  Kann man auch Skript schreiben:
    p  Net user <user> <pwd> /add

    p  Net localgroup <group> /add

    p  Net localgroup <group> <user1 user2 … user(n)> /add
Anwendungen


n  Unterstützt der Hersteller SQL Server 2012?
n  Funktioniert die Konnektivität?
n  Funktionieren die Anwendungsserver noch?
  (neue JDBC-Treiber….?)
n  Funktioniert der Code wie gewohnt?
    Tipp:
    SQL Server Upgrade Assistant
    http://www.scalabilityexperts.com/tools/downloads.html

    Vergleicht Ausführung und Ergebnisse von Quell- und Zielserver
    basierend auf Profiler / Trace API
Schluss


n  Eine Migration kann beliebig komplex sein
n  Meine Empfehlung: Umzug auf neuen Server
n  Gute Dokumentation ist notwendige Voraussetzung
n  Es gibt viele hilfreiche Werkzeuge
n  Testen, testen, testen! (SQLIO)
n  Performance nicht vergessen
Lesen


n Upgrade to SQL Server 2012
      http://msdn.microsoft.com/en-us/library/bb677622(v=sql.110).aspx
n SQL Server 2012 What‘s New White-Paper
      http://www.microsoft.com/sqlserver/en/us/future-editions.aspx
n Deprecated Database Engine Features in SQL
      Server 2012
      http://technet.microsoft.com/en-us/library/ms143729(SQL.110).aspx
p     SQL Server Upgrade Assistant
       http://www.scalabilityexperts.com/tools/downloads.html
39




     Vielen Dank für Ihre Aufmerksamkeit !



                   Fragen ?

Digicomp sqlday migration

  • 1.
    1 DigiComp Academy AG SQLDAY 31.05.2012 Upgrade und Migration auf SQL Server 2012
  • 2.
    2 Alexander Jahn MS SQL Server Trainer und Consultant seit 1996 IT – Seminare und Projekte von KMU bis Konzern
  • 3.
    3 Zeitlicher Rahmen 13:00 Uhr – 13:45 Uhr
  • 4.
    4 Upgrade und Migration auf SQL Server 2012
  • 5.
    5 Sieben Gründe, diese Session zu besuchen:   •  Eine  Migra+on  ist  schon  in  Planung   •  Mentale  Vorbereitung  auf  das  Kommende   •  Um  Neuerungen  in  SQL  Server  2012  und   Unterschiede  zu  früheren  Versionen  zu  erfahren   Ø Tja,…  Pech!(Leider  eine  andere  Session)   •  Um  vor  den  BI-­‐Sessions  zu  flüchten   •  Um  bei  der  Migra+on  der  Produk+vsysteme  nicht   etwas  Spaß  mit  der  GL  haben  zu  müssen…   •  Um  jetzt  schon  Spaß  haben  zu  können  
  • 6.
    6 FERTIG !
  • 7.
    7 •  Noch Fragen ? •  Auf Wiedersehen ! •  Nee ! Scherz !
  • 8.
    8 Wo soll ich nur beginnen? Mein Ziel: n  Zeigen, wie umfangreich eine Migration sein kann n  Auf Stolperfallen hinweisen n  Verschiedene Migrationsmöglichkeiten auflisten n  Versuche so viel wie möglich zu zeigen und zu erwähnen (Vollständigkeit ist nicht gewährleistet)
  • 9.
    9 Wer von Ihnen hat eine gute Dokumentation über die vorhandenen SQL Server ? Bitte um Handzeichen !
  • 10.
    Auf was istalles zu achten ? Client  Anbindung  /   Datenbanken   User  /  Logins   sp_configure   Anwendungen   Schni[stellen   Compa+bility   Monitoring   (Filestream)   Replika+on   Server  Colla+on   Level   Tools   Shares   (ist  und  hat)   Wartung   SQL  Server  200x   Linked  Server   Hier  war mit  x  ε  {5,  8,  8R2}   dann  die Virenscanner   Trace  Flags   Folie  voll… Lokale  WIN   Security   SQL  Server  2012   Repor+ng   Endpoints,  Snapshots   Konzept   f.a.k.a.  „Denali“   Services   User/Groups   Powershell,  XEvents   Recovery   Neue   Neues     Integra+on   Konzept   Services   Jobs   Box(en)?   OS?   XPs  /  DLLs   Ausfall   Neue   Analysis   Firewall?   Konzept   Storage?   Services   Alerts   SPs  (master)   Resource   Policy  Based   Mail   Group  Policies   CLRs   Governor   Management   Migra+onskonzept  /  Methoden  /  Projektplan  
  • 11.
    11 Spätestens jetzt sollte auch der letzte DBA einsehen, dass es sich wahrlich lohnt, eine gute Dokumentation zu haben!
  • 12.
    12 Migrationsmethoden
  • 13.
    13 Migrationsmethoden n Inplace Migration p = SQL Server 2012 „drüberbügeln“ p Lange Downtime p Point Of No Return: Konvertierung der Datenbanken p Geht nicht für x86 -> x64 p Ergebnis: SQL Server mit Migrationshintergrund Das möchte ich nicht !
  • 14.
    14 Migrationsmethoden n Side-by-Side Migration p Neue SQL Server 2012 Instanz (Named Instance) p Name = ComputernameInstance p Komplizierter im Cluster p Geht auch nicht für x86 -> x64 p Alte Produktionsmaschine wird verändert Also ich möchte das auch nicht !  
  • 15.
    15 Migrationsmethoden NEUER SERVER n  Nachteile p  Viel Arbeit! p  Kostet n  Vorteile p  „Saubere“ Umgebung p  Erlaubt ausführliche Tests p  Leichtere Implementierung neuer Technologien p  Kann während der Produktion vorbereitet werden p  Minimale Downtime p  Kein Point Of No Return Das  möchte  ich!  
  • 16.
    16 Planung
  • 17.
    17 „Eine Schlacht wird in der Planung gewonnen, nicht erst auf dem Feld.“ Und das bedeutet viel Detailarbeit.
  • 18.
    18 Planung n Neue Hardware kaufen? n Neues OS kaufen? n … SQL Server 2012 kaufen? n Welche Anwendungen/Systeme/User sind betroffen? n Was ist besonders business critical? (Testaufwand) n Werden alle Anwendungen vom Hersteller auf SQL2012 supported? n Benötigen irgendwelche Datenbanken irgendwelche oder gar nicht mehr vorhandene Kompatibilitätslevel (z.B. SQL2K)? n Maximale Downtime?
  • 19.
    19 Planung n Virtualisierung? n Konsolidierung? n OS p Neues OS (Win2008R2 / Windows 2012)? p x86 -> x64? p OS Konfiguration Performance-Einstellungen, Sicherheit (Benutzer, Gruppen, Gruppen Richtlinien,…) p Virenscanner – funktioniert der alte noch? p SQL Server Dienstkontoprivilegien
  • 20.
    20 Planung n Physikalisches Design (Storage) n SQL Server Konfiguration n Anwendungskonnektivität p Alter Clustername = Neuer Clustername? bzw. alter SQLServerName = Neuer SQLServerName? p DNS-Alias? n  Für Freigaben ggf. „DisableStrictNameChecking“ in Registry? (Im Win2k08-Cluster – Das geht so nicht mehr…) n Wie gesagt, …Detailarbeit
  • 21.
    21 SQL Server Installation
  • 22.
    22 SQL Server Installation n  Auf richtige Server Collation achten, relevant für tempdb (siehe http://www.collation-charts.org/mssql/) n  Auf Trace Flags achten die Einen gibt es nicht mehr (z.B. 4116), die Anderen braucht man vielleicht noch (z.B. 1118) n  Grundsätzlich auf alle bisher vorhandenen Serverobjekte achten, die in master oder msdb leben (Linked Server, Endpunkte, XEvents (neu machen!), Jobs, Alerts,…) n Resource Governor (Wohl dem, der Skripte hat) n Und wer keine Doku hat, der dokumentiert jetzt
  • 23.
    Migrationsgedanken Client  Anbindung  /   Datenbanken   User  /  Logins   sp_configure   Anwendungen   Schni[stellen   Compa+bility   Monitoring   (Filestream)   Replika+on   Server  Colla+on   Level   Tools   Shares   (ist  und  hat)   Wartung   SQL  Server  200x   Linked  Server   mit  x  ε  {5,  8,  8R2}   Virenscanner   Trace  Flags   Lokale  WIN   Security   SQL  Server  2012   Repor+ng   Endpoints,  Snapshots   Konzept   f.a.k.a.  „Denali“   Services   User/Groups   Powershell,  Xevents   Recovery   Neue   Neues     Integra+on   Konzept   Services   Jobs   Box(en)?   OS?   XPs  /  DLLs   Ausfall   Neue   Analysis   Firewall?   Konzept   Storage?   Services   Alerts   SPs  (master)   Resource   Policy  Based   Mail   Group  Policies   CLRs   Governor   Management   Migra+onskonzept  /  Methoden  /  Projektplan  
  • 24.
    24 Datenbanken n Funktionieren die Stored Procedures, Views und Funktionen noch ? n Funktioniert die Applikation (der Anwendungscode) noch ? n Und all das andere…?
  • 25.
    25 Datenbanken Vorher bitte lesen: Deprecated Features in SQL Server 2012 http://msdn.microsoft.com/en-us/library/ms143729(v=sql.110).aspx Man nehme: SQL Server 2012 Upgrade Advisor Man gebe: Dem Upgrade Advisor einen Server Trace (Replay template), um den Anwendungscode zu checken
  • 26.
    26 Datenbanken Optionen die Migration durchzuführen p  Backup/Restore (Full/Diff/Log) p  Replikation p  Database Copy (Dateisystem oder Objekte) p  SAN detach/attach (point of no return) p  HW-basierter SAN Mirror-Snapshot p  „Manuelles Log Shipping“ n  Nach Go-offline die letzten Transaktionslogbackups restaurieren n  Wenige Minuten Ausfallzeit p  Datenbankspiegelung? n  Ausfallzeit nur wenige Sekunden! n  Spiegelung allerdings nur One Way von Alt nach Neu
  • 27.
    27 Datenbanken n  Was ist noch zu beachten p  Compatibility Level p  SQL Server 2000 Datenbanken müssen erst nach SQL2005/2008 angepasst und migriert werden Compatibility Level >= SQL2005! p  CLRs testen, in SQL Server enablen n  Ablauf (Bei Migrationsmethode DB – Mirroring) p  Spiegelung einrichten (Principal >=SQL2005) Zum Migrationszeitpunkt FAILOVER zu SQL Server 2012 p  Witness hat (in CTP3) keine Wirkung (Principal weg, Mirror geht nicht online… Bug oder Feature?) p  Spiegelung auf SQL Server 2012 entfernen p  Alle Clients irgendwie umleiten Ich würde die Backup / Restore Methode bevorzugen
  • 28.
    Datenbanken Replikation n  Herausgeber (Publisher) n Abonnent (Subscriber) n  Verteiler (Distributor) Komplexität hängt vom Szenario ab http://msdn.microsoft.com/en-us/library/ms143699(v=sql.110).aspx
  • 29.
    Datenbanken n  Logins solltenvorbereitet werden p  Lokale Windows Groups und User nicht vergessen p  Problem: „Default Database“ n  Datenbank (zur Not namensgleiche DummyDB) muss auf Zielserver vorhanden sein n  Restore-Sync für Mirror mit „replace“ wg. dbid n  Alles, was irgendwie zu den Datenbank-Anwendungen gehört, sollte auch vorbereitet werden (XPs, master-SPs, Jobs, Linked Server, Fileshares, CLR-enabled,…)
  • 30.
    Logins Problem: n  User-SIDs in(migrierten) Datenbanken referenzieren Login-SID n  Kein Problem für Domain-Accounts (Domain-SID) n  Für SQL Server authentifizierte Logins muss Login-SID und DBUser-SID auf dem neuen Server identisch sein, sonst verwaiste User n  Ratsam: Vor der Migration auf dem Quellsystem bereits verwaiste User recherchieren und ggf. säubern (drop user) 30
  • 31.
    Logins Verwaiste User erkennenmit http://msdn.microsoft.com/de-de/library/ms174378.aspx USE  <database_name>;   GO;     sp_change_users_login  @Action='Report';   GO;             Besser:     Erst  gar  keine  verwaisten  User  auoommen  lassen.  
  • 32.
    Logins CREATELOGIN loginName { WITH <option_list1> | FROM <sources> } <option_list1> ::= PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ] [ , <option_list2> [ ,... ] ] <option_list2> ::= SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} | CREDENTIAL = credential_name
  • 33.
    Logins n  Create  Login  Script erzeugen aus: select  *  from  sys.server_principals   select  *  from  sys.syslogins     n  sp_help_revlogin http://support.microsoft.com/kb/246133 n  Angepasstes von Alex Jahn verwenden (für einzelne Datenbanken)
  • 34.
    Logins n  Bitte nichtalle Logins übernehmen ! (…)  WHERE  p.name  not  in  (   'sa',   '##MS_SQLResourceSigningCertificate##',   '##MS_SQLReplicationSigningCertificate##',   '##MS_SQLAuthenticatorCertificate##',   'VORDEFINIERTAdministratoren',   'NT-­‐AUTORITÄTSYSTEM',   'SQL2005SQLServer2005MSSQLUser$SQL2005$MSSQLSERVER',   'SQL2005SQLServer2005SQLAgentUser$SQL2005$MSSQLSERVER',   'SQL2005SQLServer2005MSFTEUser$SQL2005$MSSQLSERVER',   '##MS_AgentSigningCertificate##',   'SQLDOMsqlservice   )  
  • 35.
    Logins Vorher: n  evtl. Windowslocal Groups / User anlegen n  Kann man auch Skript schreiben: p  Net user <user> <pwd> /add p  Net localgroup <group> /add p  Net localgroup <group> <user1 user2 … user(n)> /add
  • 36.
    Anwendungen n  Unterstützt derHersteller SQL Server 2012? n  Funktioniert die Konnektivität? n  Funktionieren die Anwendungsserver noch? (neue JDBC-Treiber….?) n  Funktioniert der Code wie gewohnt? Tipp: SQL Server Upgrade Assistant http://www.scalabilityexperts.com/tools/downloads.html Vergleicht Ausführung und Ergebnisse von Quell- und Zielserver basierend auf Profiler / Trace API
  • 37.
    Schluss n  Eine Migrationkann beliebig komplex sein n  Meine Empfehlung: Umzug auf neuen Server n  Gute Dokumentation ist notwendige Voraussetzung n  Es gibt viele hilfreiche Werkzeuge n  Testen, testen, testen! (SQLIO) n  Performance nicht vergessen
  • 38.
    Lesen n Upgrade to SQLServer 2012 http://msdn.microsoft.com/en-us/library/bb677622(v=sql.110).aspx n SQL Server 2012 What‘s New White-Paper http://www.microsoft.com/sqlserver/en/us/future-editions.aspx n Deprecated Database Engine Features in SQL Server 2012 http://technet.microsoft.com/en-us/library/ms143729(SQL.110).aspx p  SQL Server Upgrade Assistant http://www.scalabilityexperts.com/tools/downloads.html
  • 39.
    39 Vielen Dank für Ihre Aufmerksamkeit ! Fragen ?