PRB: Το θέμα "Αντιμετώπιση προβλημάτων ορφανού χρήστες" στα ηλεκτρονικά βιβλία είναι ελλιπής

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 274188 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν επαναφέρετε ένα αντίγραφο ασφαλείας της βάσης δεδομένων σε άλλο διακομιστή, ενδέχεται να αντιμετωπίσετε ένα ζήτημα με ορφανούς χρήστες. Για ναΑντιμετώπιση προβλημάτων ορφανή χρηστώνθέμα στα ηλεκτρονικά εγχειρίδια του SQL Server δεν περιγράφουν τα ακριβή βήματα για την αντιμετώπιση αυτού του ζητήματος.

Αυτό το άρθρο περιγράφει πώς μπορείτε να αντιμετωπίσετε ορφανούς χρήστες.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ζήτημα το οποίο παρουσιάζεται στα προϊόντα της που αναφέρονται στην αρχή αυτού του άρθρου.

Περισσότερες πληροφορίες

Παρόλο που το χρήστη και τους όρους σύνδεσης χρησιμοποιούνται συχνά Εναλλακτικά, είναι πολύ διαφορετικά. Μια σύνδεση που χρησιμοποιείται για τον έλεγχο ταυτότητας χρήστη και ένα λογαριασμό χρήστη της βάσης δεδομένων που χρησιμοποιείται για την επικύρωση πρόσβασης και δικαιώματα βάσης δεδομένων. Οι συνδέσεις συσχετίζονται σε χρήστες με το αναγνωριστικό ασφαλείας (SID). Απαιτείται η ενεργοποίηση μιας σύνδεσης για πρόσβαση στο διακομιστή SQL Server. Η διαδικασία επαλήθευσης ότι μια συγκεκριμένη σύνδεση είναι έγκυρη ονομάζεται "Έλεγχος ταυτότητας". Στη συγκεκριμένη σύνδεση πρέπει να συσχετίζονται με ένα χρήστη της βάσης δεδομένων του SQL Server. Μπορείτε να χρησιμοποιήσετε το λογαριασμό χρήστη για να ελέγξετε τις δραστηριότητες που εκτελούνται στη βάση δεδομένων. Αν υπάρχει λογαριασμός χρήστη βρίσκεται σε μια βάση δεδομένων για μια συγκεκριμένη σύνδεση, ο χρήστης που χρησιμοποιεί αυτή η σύνδεση δεν είναι δυνατή πρόσβαση στη βάση δεδομένων ακόμη και αν ο χρήστης μπορεί να συνδεθεί με το διακομιστή SQL Server. Μία εξαίρεση σε αυτήν την περίπτωση είναι όταν η βάση δεδομένων περιέχει το λογαριασμό χρήστη "Επισκέπτης". Μια σύνδεση που δεν διαθέτει ένα λογαριασμό χρήστη που συσχετίζονται αντιστοιχίζεται στο χρήστη επισκέπτη. Αντίθετα, εάν υπάρχει ένας χρήστης της βάσης δεδομένων, αλλά δεν υπάρχει καμία σύνδεση που σχετίζονται, ο χρήστης δεν είναι δυνατή η σύνδεση στο διακομιστή SQL Server.

Κατά την επαναφορά μιας βάσης δεδομένων σε διαφορετικό διακομιστή περιέχει ένα σύνολο χρηστών και δικαιωμάτων, αλλά μπορεί να μην υπάρχει αντίστοιχη συνδέσεις ή τις συνδέσεις δεν μπορεί να συνδεθεί με τους ίδιους χρήστες. Η κατάσταση αυτή είναι γνωστή ως έχουν "ορφανή χρήστες."

Αντιμετώπιση προβλημάτων ορφανή χρηστών

Όταν επαναφέρετε ένα αντίγραφο ασφαλείας της βάσης δεδομένων σε άλλο διακομιστή, ενδέχεται να αντιμετωπίσετε ένα ζήτημα με ορφανούς χρήστες. Το ακόλουθο σενάριο παρουσιάζει το πρόβλημα και σας δείχνει πώς να την επιλύσετε.
  1. Προσθήκη μιας σύνδεσης στην κύρια βάση δεδομένων και να καθορίσετε την προεπιλεγμένη βάση δεδομένων ως Northwind:
    Use master go sp_addlogin 'test', 'password', 'Northwind'
    						
  2. Εκχώρηση δικαιωμάτων πρόσβασης του χρήστη που δημιουργήσατε:
    Use Northwind go sp_grantdbaccess 'test'
    						
  3. Δημιουργία αντιγράφου ασφαλείας της βάσης δεδομένων.
    BACKUP DATABASE Northwind
    TO DISK = 'C:\MSSQL\BACKUP\Northwind.bak'
    						
  4. Επαναφέρετε τη βάση δεδομένων σε διαφορετικό διακομιστή SQL Server:
    RESTORE DATABASE Northwind
    FROM DISK = 'C:\MSSQL\BACKUP\Northwind.bak'
    						
    Επαναφορά βάσης δεδομένων περιέχει ένα χρήστη με το όνομα "Δοκιμή", χωρίς μια αντίστοιχη σύνδεση, που έχει ως αποτέλεσμα "Δοκιμή" είναι ορφανή.
  5. Τώρα, για τον εντοπισμό ορφανούς χρήστες, εκτελέστε αυτόν τον κώδικα:
    Use Northwind go sp_change_users_login 'report'
    						
    Το αποτέλεσμα εμφανίζει όλες τις συνδέσεις, τα οποία έχουν μια ασυμφωνία μεταξύ των εγγραφών με τοsysusersΠίνακας του συστήματος από τη βάση δεδομένων Northwind και τοsysxloginsΠίνακας του συστήματος στην κύρια βάση δεδομένων.

Βήματα για την επίλυση ορφανή χρηστών

  1. Εκτελέστε την ακόλουθη εντολή για το ορφανό χρήστη από το προηγούμενο βήμα:
    Use Northwind
    go
    sp_change_users_login 'update_one', 'test', 'test'
    						
    Αυτό relinks στο διακομιστήσύνδεση"Δοκιμή", με τη βάση δεδομένων NorthwindΧΡΗΣΤΗΣ"Δοκιμή". Για ναsp_change_users_loginαποθηκευμένη διαδικασία μπορεί επίσης να εκτελέσει μια ενημέρωση όλων των ορφανών χρηστών με την παράμετρο "auto_fix", αλλά αυτό δεν συνιστάται επειδή ο SQL Server επιχειρεί να αντιστοιχίσει χρήστες και οι συνδέσεις με το όνομά του. Για τις περισσότερες περιπτώσεις αυτό λειτουργεί, ωστόσο, εάν το λάθος σύνδεση σχετίζεται με ένα χρήστη, ένας χρήστης μπορεί να έχουν εσφαλμένα δικαιώματα.
  2. Μετά την εκτέλεση του κώδικα στο προηγούμενο βήμα, ο χρήστης να αποκτήσετε πρόσβαση στη βάση δεδομένων. Ο χρήστης μπορεί να τροποποιήσει στη συνέχεια τον κωδικό πρόσβασης με τοsp_passwordstored procedure:
    Use master 
    go
    sp_password NULL, 'ok', 'test'
    						
    This stored procedure cannot be used for Microsoft Windows NT security accounts. Users connecting to a SQL Server server through their Windows NT network account are authenticated by Windows NT; therefore, their passwords can only be changed in Windows NT.

    Only members of the sysadmin role can change the password for another user's login.

Αναφορές

For additional information about how to resolve permission issues when a database is moved between servers, click the article number below to view the article in the Microsoft Knowledge Base:
240872INF: How to Resolve Permission Issues When a Database is Moved Between SQL Servers

Ιδιότητες

Αναγν. άρθρου: 274188 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Λέξεις-κλειδιά: 
kbcodesnippet kbpending kbprb kbmt KB274188 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:274188

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com