Invalid object name 'master.dbo.spt_values'. (Microsoft SQL Server, Error:208)
Thursday 16 February 2017
Η αλήθεια είναι ότι δεν συνηθίζω να γράφω άρθρα που αφορούν την επίλυση συγκεκριμένων σφαλμάτων καθώς εύκολα μπορεί κάποιος με μια απλή αναζήτηση στο internet να βρει απαντήσεις και λύσεις για αυτά.
Υπάρχουν όμως κάποιες φορές που αυτά που βλέπω σαν απαντήσεις σε αυτά με κάνουν να απορώ καθώς οι λύσεις που προτείνονται είναι παντελώς λάθος ή για να φτάσεις λύσεις το πρόβλημα σου πρέπει να διαβάσεις ένα τεράστιο thread στο οποίο η άχρηστη πληροφορία είναι τεράστια.
To Πρόβλημα
Ας έρθουμε όμως στο συγκεκριμένο πρόβλημα.
Μέσα από τον SSMS θέλεις να δεις τα properties σε κάποιο object ή database και όπως συνηθίζεται με επιλεγμένο αυτό κάνεις δεξί κλικ properties. Αντί να εξελιχθούν τα πράγματα όπως τα έχεις συνηθίσει σου βγαίνει ένα λάθος που σου λέει:
Cannot show requested dialog. (SqlMgmt)
An exception occurred while executing a Transact-SQL statement or batch
(Microsoft.SqlServer.ConnectionInfo)
Invalid object name 'master.dbo.spt_values'. (Microsoft SQL Server, Error:208)
Αρχικά να τονίσω ότι για να σου βγει κάτι τέτοιο σαν λάθος κάτι αρκετά περίεργο έχει συμβεί στον SQL Server ή κάποιος αποφάσισε κάποια στιγμή να κάνει κάποιο patching το οποίο είτε έσκασε και δεν ολοκλήρωσε το rollback είτε το σταμάτησε και δεν ολοκληρώθηκε το rollback.
Η Λύση
Η λύση για το αυτό είναι η εξής:
- Όλα τα βήματα πρέπει να γίνουν πάνω στο SQL Server. Άρα θέλεις πρόσβαση σε αυτόν με δικαιώματα administrator τόσο στο SQL Server όσο και στα Windows.
- Ανοίγεις ένα CMD με Run As Administrator
- Σε αυτό θα πρέπει να εκτελεστεί το SQLCMD –A –E –i "C:\Program Files\Microsoft SQL Server\\MSSQL\Install\u_tables.sql"
Μετά από την ολοκλήρωση το πρόβλημα έχει λυθεί.
Μερικές διευκρινήσεις
Όπως φαίνεται στη εντολή γίνεται χρήση του SQLCMD με –Α που σημαίνει DAC (dedicated admin connection).
Στο –i θα πρέπει να μπει το full path που το script u_tables.sql υπάρχει. Συνήθως (μπορεί να έχεις αλλάξει το path κατά την εγκατάσταση) βρίσκεται στο C:\Program Files\Microsoft SQL Server\\MSSQL\Install.
//antonch