Καλημέρα σε όλους.
Αντιμετωπίζω ένα πρόβλημα με κάποιες εγγραφές σε έναν πίνακα. Όταν πάω να τις ανοίξω, παίρνω σφάλματα. Το dbcc checkdb επιστρέφει σε μερικές περιπτώσεις:
Server: Msg 8956, Level 16, State 1, Line 1
Index row (1:18449:58) with values (ReqID = 6356 and StepID = 49251) points to the data row identified by ().
σε δύο πίνακες.
Η λύση που μου προτείνανε είναι η παρακάτω:
This error occurs when the non-clustered index indicated by the index ID is corrupt. The corruption is detected when a process tries to delete a nonexistent row. This is synonomous with an error 644. Refer to SQL Books Online also for more information.
Execute DBCC CHECKDB without a repair clause to determine the extent of the damage. Then, execute DBCC CHECKDB with REPAIR_REBUILD clause to correct the damage. If problems persist, either drop and re-create the index (as shown below) or export data out of database, recreate the objects, and import data back in.
To drop and re-create the index:
1. Record the value of index page and index ID specified in the error text.
2. Identify which table and index correspond to the index page number.
3. Note the object ID.
If the object with the error is a system table (the object ID is less than 100), you cannot drop the index. Execute DBCC CHECKDB with the REPAIR_REBUILD clause or restore the database from a known clean backup.
4. If the object ID is greater than 100, drop and re-create the index using the table name and index name obtained in Step 1. In most cases, this will clear the corruption.
5. Execute DBCC CHECKDB with the REPAIR_REBUILD clause on the affected database to verify that all problems have been resolved.
Υπάρχουνε τίποτα πράγματα που πρέπει να προσέξω όταν το κάνω αυτό. Χρειάζεται να το δοκιμάσω σε τέστ περιβάλλον ΄΄η είναι ασφαλές? Υπάρχει μήπως κανένας πιο ασφαλής τρόπος? Επίσης θα έχει τίποτα επιπτώσεις στην χρήση της εφαρμογής από τους χρήστες?
Ευχαριστώ εκ των προτέρων
Simple Photography