sqlschool.gr logo

articles

Articles of SQLschool.gr Team

How to deal with migration or instance upgrade nightmares

Antonios Chatzipavlis
Friday 20 March 2015

Κάθε φορά που στο μυαλό σου έρχεται η σκέψη να κάνεις upgrade ένα υπάρχον SQL Server instance ή κάποιες databases σε επόμενη έκδοση τα αισθήματα σου είναι ανάμικτα. Από την μια λες πρέπει να γίνει καθώς θα πάω σε κάτι νέο με περισσότερα χαρακτηριστικά και δυνατότητες και έτσι θα είμαι σε θέση να παρέχω καλύτερες υπηρεσίες στους χρήστες μου. Από την άλλη αναρωτιέσαι αν αυτό θα σου δημιουργήσει προβλήματα καθώς μπορεί κάποια πράγματα μπορεί να μην δουλέψουν γιατί μπορεί να μην υπάρχει συμβατότητα καθώς κάτι μπορεί να μην υποστηρίζεται στην νέα έκδοση. Κάπως έτσι ξεκινάει ο εφιάλτης. Αλλά για μια στιγμή μήπως τελικά ο εφιάλτης είναι πόνημα φαντασίας;

Αρχικά θα πρέπει να επισημάνω ότι τουλάχιστον για τον SQL Server το product group έχει φροντίσει με κάθε έκδοση να ενημερώνει για το τι πρόκειται να καταργηθεί ή να αλλάξει στις επόμενες εκδόσεις. Αυτό εύκολα μπορεί να το βρει κανείς κάνοντας ένα search στα BOL του SQL server με τις λέξεις "deprecated features" το οποίο και θα γυρίσει αρκετά link μέσα από τα οποία θα ενημερωθεί και έτσι θα οργανωθεί για να ετοιμαστεί ώστε να είναι έτοιμος για το βήμα του migration/upgrade.

Αν όμως έχεις κληρονομήσει κάποια instances και databases και θέλεις να προχωρήσεις στην επόμενη έκδοση και θέλεις να γνωρίζεις τι δεν πάει καλά τότε προτείνω να κάνεις τα εξής:

BHMA 1o

Αρχικά θέλεις να δεις πόσο εκτεθειμένος είσαι σε θέματα deprecation. Αυτό εύκολα μπορείς να το κάνεις και άμεσα χωρίς να εγκαταστήσεις κάποιο software στο instance σου με το παρακάτω query το οποίο παίζει από SQL Server 2008

use master;
select * from sys.dm_os_performance_counters
where object_name like N'%:Deprecated Features%';
go


Το συγκεκριμένο δείχνει πόσες φορές ένα deprecation feature έχει εκτελεστεί από την στιγμή που το instance έχει ξεκινήσει (δλδ το service του SQL Server έχει γίνει started, αν αυτό γίνει restart οι μετρητές ξεκινάνε πάλι από το μηδέν). Με αυτό τον τρόπο μπορείς να πάρεις μια εικόνα άμεσα για το μέγεθος της έκθεσης που έχεις σε αυτά.

image1

BHMA 2o

Φυσικά το επόμενο βήμα είναι να ραφινάρεις εφόσον χρειάζεται την έκθεση με την προϋπόθεση ότι έχεις δει από το προηγούμενο αποτέλεσμα ότι έχεις ουσιαστικά θέματα deprecation.

Αυτό πάλι μπορείς να το δεις πάλι εύκολα χωρίς να εγκαταστήσεις κάποιο software και αυτό γίνεται με την χρήση ενός SQL Profiler όπου επιλέγεις τα events όπως φαίνονται στην εικόνα που ακολουθεί.

image2

Αφού αφήσεις το trace αυτό να εκτελεστεί ένα εύλογο χρονικό διάστημα και τα αποτελέσματα τα φιλτράρεις θα έχει στα χέρια σου μια λίστα με τις databases και τα deprecated  features. Αυτό μπορείς να το κάνεις αποθηκεύοντας το trace σε XML και μετά να το ανοίξεις με ένα excel.

BHMA 3o

Με βάσει τα στοιχεία αυτά μπορείς να ξεκινήσεις την αναζήτηση στα metadata των database ή αν δεν θέλεις (και δεν θέλεις) να κατεβάσεις τον Database Upgrade Advisor πχ αν θέλεις ένα SQL Server 2005/2008/2008R2 να το μεταφέρεις σε 2012 μπορείς από το link http://www.microsoft.com/en-us/download/details.aspx?id=29065  (στο link αυτό για να βρείτε το DUA θα πρέπει να κάνετε expand το install instructions) να κατεβάσεις και να εγκαταστήσεις και να τρέξεις τον DUA 2012 ο οποίος και θα σου πει περισσότερα για τα deprecated features.

Επειδή πολλοί θα αναρωτηθούν γιατί δεν βάζω απευθείας τον DUA να τελειώνω, η απάντηση μου είναι θέλω να έχω μια αρχική εικόνα άμεσα ώστε να ξέρω πως θα κινηθώ. Επειδή έχω πολλά instance δεν θέλω να σπαταλήσω χρόνο για εγκατάσταση αλλά και γιατί θέλω αυτά που δεν έχουν πολλά deprecation να γίνουν πρώτα.

Φυσικά με όλα αυτά τα στοιχεία στα χέρια μου μπορώ να οργανωθώ και να οργανώσω τους dev και συνεργάτες μου ώστε μέσα στο χρονοδιάγραμμα μου να έχουν γίνει και οι απαραίτητες αλλαγές και η διαδικασία του migration/upgrade να κυλήσει ομαλά.

/*antonch*/

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios is a Data Solutions Consultant and Trainer. He has been working in IT since 1988. In his career, he has worked as senior developer, IT Manager, Solutions Architect and IT Consultant. Since 1995 he has been devoted on new technologies and software development tools, mainly by Microsoft, either by training company staff and colleagues or assisting them in design, development and implementation as a consultant or chief developer. He has focused in Databases and Data Science since 1995. He specialized in Microsoft SQL Server since version 6.0 in areas like SQL Server Internals, Database Design and Development, Business Intelligence and in 2010 he has started working with Azure Data Platform, NoSQL databases, Big Data Technologies and Machine Learning. He is an active member of many IT communities in Greece, answering colleagues' questions and writing articles in his web site. He is the owner of SQLschool.gr which is a community portal with a lot of information about Microsoft SQL Server. He has been a Microsoft Certified Trainer (MCT) since 2000. Microsoft honored him as MVP on Data Platform due to his activities in SQL Server since 2010. He holds a large number of Microsoft Certifications and Microsoft SQL Server Certifications since version 6.5.

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.