How to find other SQL Server instances on same server using only SSMS and without RDP
Thursday 28 September 2023
Κάθε μέρα που ξημερώνει φέρνει και νέα πράγματα ώστε να μην χαλαρώνουμε και να μας δίνεται η δυνατότητα να ακονίζουμε το μυαλό μας που για εμάς τους μεγαλύτερους κάνει καλό για μην πάθουμε αλτσχαιμερ.
Σήμερα κλήθηκα από ένα πελάτη για να επιλύσω ένα θέμα σε μια διαδικασία. Ο πελάτης δεν ήταν ΙΤ και δεν έχει ΙΤ εσωτερικά αυτό σημαίνει πολλά όπως εύκολα γίνεται κατανοητό.
Στο Teams call το μόνο που μπορούσε να μου δείξει ήταν SSMS από το pc του που συνδεόνταν σε κάποιο SQL Server instance χωρίς να έχει δυνατότητα να συνδεθεί με remote session στην μηχανή που ήταν το instance.
Στην κουβέντα μου αναφέρει ότι υπάρχει και κάποιο άλλο instance στην ίδια μηχανή αλλά δεν ξέρει το instance name ή οποιαδήποτε άλλη πληροφορία και σε αυτό υπήρχαν δεδομένα που χρειάζονταν οπότε έπρεπε να βρούμε το όνομα. Ο πελάτης έκανε κάποιες εσωτερικές επικοινωνίες που ήταν ακαρπες οπότε το μπαλάκι πέφτει σε μένα.
Αρχικά σκέφτηκα να ψάξω linked servers ή schedule jobs αλλά αμέσως άλλαξα γνώμη όπως έχω δείξει στο επεισόδιο Working with registry in SQL Server μπορώ να διαβάζω τα instances που υπάρχουν σε μια μηχανή από τη registry αρκεί το sql service να έχει δικαιώματα admin στην μηχανή οπότε εκτέλεσα το παρακάτω το οποίο μου έφερε τα instance και φυσικά μπόρεσα να συνδεθώ μέσω SSMS και σε αυτό που ήθελα μιας και ο πελάτης είχε permissions.
SQL Script
EXECUTE xp_regread
@rootkey = 'HKEY_LOCAL_MACHINE',
@key = 'SOFTWARE\Microsoft\Microsoft SQL Server',
@value_name = 'InstalledInstances'