Applies ToSQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 R2 ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι επιδιορθώσεις είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη έκδοση της ενημέρωσης κώδικα του SQL Server 2008 R2.

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Έχετε ένα μοντέλο κύριων υπηρεσιών δεδομένων (MDS) και μια οντότητα που έχει ένα χαρακτηριστικό που βασίζεται σε τομέα στον Microsoft SQL Server 2008 R2. Το χαρακτηριστικό που βασίζεται σε τομέα έχει σχεδιαστεί ώστε να είναι αυτο-αναφερόμενο στο ίδιο χαρακτηριστικό. Για παράδειγμα, έχετε μια οντότητα υπαλλήλου που έχει ένα χαρακτηριστικό ManagerName . Το χαρακτηριστικό ManagerName αναφέρεται στην ίδια οντότητα υπαλλήλου.Σημείωση Ένας διαχειριστής είναι επίσης ένα είδος υπαλλήλου.

  • Υπάρχει μια παράγωγη ιεραρχία που έχει οριστεί σε ένα χαρακτηριστικό για να εμφανίσει την αναδρομική σχέση γονικού/θυγατρικού στοιχείου για το χαρακτηριστικό που βασίζεται σε τομέα.

  • Μπορείτε να φορτώσετε τιμές δεδομένων που περιέχουν μία ή περισσότερες κυκλικές αναφορές στον πίνακα ανασυγκρότησης του MDS. Αυτή η συμπεριφορά προκαλεί μια κυκλική αναφορά και ο πρώτος κόμβος του χαρακτηριστικού δεν αποτελεί μέρος του κύκλου. Για παράδειγμα, το ακόλουθο μοτίβο δεδομένων εμφανίζει μια κυκλική αναφορά. Ωστόσο, η τιμή μέλους Member1 δεν αποτελεί μέρος του κύκλου:

    Member1--χαρακτηριστικό Manager--> Member2--χαρακτηριστικό Manager--> Member3--χαρακτηριστικό Manager--> Member2--χαρακτηριστικό Manager--> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • Μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες μεθόδους για να φορτώσετε τιμές δεδομένων στην οντότητα, χρησιμοποιώντας τη διαδικασία ανασυγκρότησης του MDS:

    • Εκτελέστε το exec [mdm]. [ udpStagingSweep] χρησιμοποιώντας τις απαραίτητες παραμέτρους για την επεξεργασία των σταδίων δεδομένων.

    • Κάντε κλικ στην επιλογή Διαχείριση ενοποίησης για να επισκεφθείτε την αρχική σελίδα της τοποθεσίας Web του MDS. Στη σελίδα Εισαγωγή εξαγωγής , στην κεφαλίδα της ενότητας μη ομαδοποιημένες εγγραφές ανασυγκρότησης , κάντε κλικ στο εικονίδιο γραναζιού για να επεξεργαστείτε τις εγγραφές για ένα συγκεκριμένο μοντέλο και έκδοση.

Σε αυτό το σενάριο, η διεργασία φόντου κατά τη διαδικασία ανασυγκρότησης ενδέχεται να αντιμετωπίσει ατέρμονα βρόχο όταν η διαδικασία φόντου καλεί εσωτερικά το [mdm]. [ udpMemberRecursiveCircularCheck] διαδικασία.

Αιτία

Αυτό το πρόβλημα παρουσιάζεται επειδή οι διαδικασίες udpStagingSweep και udpStagingMemberAttributeSave απαιτούν τη διαδικασία udpMemberRecursiveCircularCheck μία φορά για κάθε γραμμή σταδίου. Αυτή η συμπεριφορά θα πρέπει να ελέγχουν μια τιμή του χαρακτηριστικού που βασίζεται σε τομέα και επιστρέφει ένα σφάλμα εάν η γραμμή ενδιάμεσου σταδίου προκαλέσει μια κυκλική αναφορά μαζί με τα υπάρχοντα δεδομένα. Αφού ελεγχθούν όλες οι γραμμές ενδιάμεσου σταδίου, θα λάβετε τα παρακάτω αποτελέσματα:

  • Εφαρμόζονται οι γραμμές ενδιάμεσου σταδίου χωρίς σφάλματα.

  • Οι γραμμές ενδιάμεσου σταδίου με σφάλματα σημειώνονται με έναν κωδικό σφάλματος.

Εάν οι συνθήκες που περιγράφονται στην ενότητα "Συμπτώματα" είναι αληθείς, το [mdm]. [ udpMemberRecursiveCircularCheck] οι βρόχοι διαδικασίας είναι απεριόριστες μέχρι να εξαντληθούν οι πόροι του διακομιστή ή να προκύψει χρονικό διάστημα.

Επίλυση

Πληροφορίες αθροιστικής ενημέρωσης

SQL Server 2008 R2 Service Pack 1

Η επιδιόρθωση για αυτό το πρόβλημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 4. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστικής ενημερωμένης έκδοσης για τον SQL Server 2008 R2 SP1, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

2633146 Αθροιστική ενημερωμένη έκδοση πακέτου 4 για τον SQL Server 2008 R2 Service Pack 1Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 R2 SP1 έκδοση της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:

2567616 Οι εκδόσεις του SQL Server 2008 R2 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2 Service Pack 1

Κατάσταση

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

Λύση

Για να επιλύσετε αυτό το πρόβλημα, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

  • Για να αποτρέψετε το πρόβλημα, ακολουθήστε τα παρακάτω βήματα:

    1. Εξετάστε με μη αυτόματο τρόπο τις τιμές δεδομένων μέλους που εισάγονται στον πίνακα ανασυγκρότησης πριν να εκτελέσετε τη διαδικασία ανασυγκρότησης.

    2. Βεβαιωθείτε ότι όλες οι τιμές των μελών για οποιαδήποτε χαρακτηριστικά που βασίζονται σε τομέα δεν περιέχουν κυκλικές αναφορές που περιγράφονται στην ενότητα "Συμπτώματα"

  • Όταν παρουσιαστεί το ζήτημα που περιγράφεται στην ενότητα "Συμπτώματα", ακολουθήστε τα παρακάτω βήματα για να διορθώσετε το πρόβλημα:

    1. Προσδιορίστε την περίοδο λειτουργίας που εκτελείται στον ατέρμονα βρόχο.

    2. Τερματίστε την περίοδο λειτουργίας για να διακόψετε το βρόχο.

    3. Διαγράψτε τις κυκλικές τιμές αναφοράς από τον πίνακα ανασυγκρότησης πριν από την επεξεργασία της κυκλικής αναφοράς ξανά.

Σημειώσεις

  • Για να προσδιορίσετε ποια περίοδο λειτουργίας πρέπει να σκοτώσετε, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

    • Χρησιμοποιήστε μια εποπτεία δραστηριότητας στο Microsoft SQL Server Management Studio.

    • Επιλέξτε από την προβολή sys. sysprocesses ή sys.dm_exec_requests Dynamic Management View (DMV) για να προσδιορίσετε τις περιόδους λειτουργίας που λειτουργούν μέσα στη βάση δεδομένων MDS στην οποία η CPU και ο χρόνος αυξάνονται γρήγορα. Βεβαιωθείτε ότι το τρέχον ερώτημα που εκτελείται στην περίοδο λειτουργίας συμφωνεί με τα ονόματα διαδικασιών που περιγράφονται στην ενότητα "αιτία".

  • Για να προσδιορίσετε τη διαδικασία που εκτελείται τη συγκεκριμένη στιγμή για τις περιόδους λειτουργίας, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

    • Κάντε δεξί κλικ στο μενού λεπτομερειών σε κάθε διεργασία της λίστας διαδικασιών της εποπτείας δραστηριοτήτων.

    • Χρησιμοποιήστε μία από τις ακόλουθες παραμέτρους:

      • Η εντολή DBCC INPUTBUFFER (SPID) μαζί με το αναγνωριστικό περιόδου λειτουργίας.

      • Η συνάρτηση SELECT * FROM sys.dm_exec_sql_text (sqlhandle) μαζί με την αντίστοιχη παράμετρο χειρισμού SQL όταν χρησιμοποιείτε την έξοδο DMV.

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τον τρόπο ανοίγματος μιας εποπτείας δραστηριότητας στο SQL Server Management Studio, επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:

Πώς μπορείτε να ανοίξετε μια εποπτεία δραστηριότητας στο SQL Server Management StudioΓια περισσότερες πληροφορίες σχετικά με τη σύνταξη Kill , επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:

Γενικές πληροφορίες σχετικά με τη σύνταξη KILLΓια περισσότερες πληροφορίες σχετικά με το sys.dm_exec_requests DMV, επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:

Γενικές πληροφορίες σχετικά με το sys.dm_exec_requests DMVΓια περισσότερες πληροφορίες σχετικά με το sys.dm_exec_sql_text DMV, επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:

Γενικές πληροφορίες σχετικά με το sys.dm_exec_sql_text DMVΓια περισσότερες πληροφορίες σχετικά με την εντολή DBCC INPUTBUFFER , επισκεφθείτε την ακόλουθη τοποθεσία Web του MSDN:

Γενικές πληροφορίες σχετικά με την εντολή DBCC INPUTBUFFERΓια περισσότερες πληροφορίες σχετικά με το μοντέλο τμηματικής συντήρησης για τον SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

935897 Ένα μοντέλο τμηματικής συντήρησης είναι διαθέσιμο από την ομάδα του SQL Server για την παροχή επειγουσών επιδιορθώσεων για προβλήματα που έχουν αναφερθείΓια περισσότερες πληροφορίες σχετικά με τη διάταξη ονομασίας για τις ενημερώσεις του SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

822499 Νέα διάταξη ονομασίας για τα πακέτα ενημερώσεων λογισμικού του Microsoft SQL ServerΓια περισσότερες πληροφορίες σχετικά με την ορολογία ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

824684 Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερώσεων λογισμικού της Microsoft

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

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