go backsqlschool blogs list

You are locked out from a SQL Server instance ? - A Guide How to survive

by Antonios Chatzipavlis

Μετά από Σαββατοκύριακο  θέλεις η Δευτέρα να είναι μια σχετικά ήρεμη μέρα χωρίς άγχος και προβλήματα.

Εσύ βέβαια μπορεί να θέλεις όμως τον διαβολάκο τον Μέρφι τον ρώτησες;

Ας έρθουμε στο θέμα μας. Για κάποιους λόγους που δεν θα εξετάσω εδώ δεν μπορείς να μπεις σε κάποιο instance του SQL Server σαν sysadmin με συνέπεια να μην μπορείς να κάνεις την δουλειά σου σαν DBA.

Δηλαδή ΟΛΑ τα sysadmin accounts είναι locked ακόμα και ο sa (αν και μπορεί να μην είναι ενεργοποιημένος οπότε το ίδιο κάνει), δεν έχεις τους BULTIN\Administrators στον SQL Server για λόγους security, και είσαι έξω και κλαίς με μαύρο δάκρυ και δεν ξέρεις   τι κάνεις;

Απλά στέλνεις ένα email στο help του sqlschool και σου δίνει την απάντηση. Αυτό έκανε και ένας συνάδελφος που κλειδώθηκε...

Βασική προϋπόθεση είναι να έχεις ένα λογαριασμό (domain ή windows) που ένα είναι στους local admins της μηχανής που έχεις εγκατεστημένο το SQL Server instance.

Αν αυτό είναι διασφαλισμένο τότε κάτι θα γίνει ακλουθώντας τα παρακάτω βήματα:

  1. Σταματάμε τα services του SQL Server  (Database Engine & SQL Agent)
  2. Ανοίγουμε ένα cmd με Administrator rights και πάμε στο Binn directory του instance μας. Αν έχουμε την default εγκατάσταση αυτό θα είναι το C:\Program Files\Microsoft SQL Server\MSSQL********\MSSQL\Binn.
  3. Ξεκινάμε το instance μας σε signle user mode εκτελώντας την sqlservr  -m. Δεν κλείνουμε αυτό το cmd παράθυρο
  4. Ανοίγουμε ένα νέο cmd και σε αυτό εκτελούμε το SQLCMD –E.
  5. Δημιουργούμε ένα χρήστη με την CREATE LOGIN και τον βάζουμε στους sysdmin με την sp_addsrvrolemember αν είσαι πριν από SQL Server 2012 ή ALTER SERVER ROLE [sysadmin] ADD MEMBER αν είσαι σε SQL Server 2012
  6. Σταματάμε το SQL Server service που είχαμε ανοίξει σε single mode
  7. Ξεκινάμε κανονικά τον SQL Server μας και μπαίνουμε με το account που φτιάξαμε και με το οποίο είμαστε sysadmins.
  8. Κάνουμε τις απαραίτητες κινήσεις ώστε να κάνουμε unlock τα ήδη κλειδωμένα sysadmin accounts και ελέγχουμε ότι μπορούμε να κάνουμε login με αυτά.
  9. Σβήνουμε το account που δημιουργήσαμε στο βήμα 5.
  10. Η διαδικασία ολοκληρώθηκε!!

Το μυστικό στην όλη διαδικασία είναι το βήμα 4 όπου μπαίνουμε στο SQL Server σαν  sysadmin επειδή έχουμε ξεκινήσει το service σε single user mode και το account που έχουμε κάνει login είναι στους local admins της μηχανής που έχουμε εγκαταστήσει τον SQL Server.

Αν δεν πληρούνται οι παραπάνω προϋποθέσεις δε μπορείς να κάνεις τίποτα από όλα όσα γράφτηκαν παραπάνω.

Αυτά και να μην ξεχνάτε τα passwords των sysadmins εντάξει;

Καλή εβδομάδα

/*antonch*/

Ημερομηνία: 08 April 2013 15:00
Share it:

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS