ΕΠΙΔΙΌΡΘΩΣΗ: Αναχθεί κλειδώματα του πίνακα είναι όχι ενίσχυση κατά την εισαγωγή πολλών γραμμών σε έναν πίνακα του SQL Server 2008 ή στον SQL Server 2008 R2

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

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

Συμπτώματα

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

  • Εισαγωγή πολλών γραμμών σε έναν πίνακα Microsoft SQL Server 2008 ή SQL Server 2008 R2 χρησιμοποιώντας ένα από τα ακόλουθα ερωτήματα:
    • INSERT INTO <target_table> SELECT * FROM <target_table> WHERE <predicate>
    • SELECT * INTO <target_table> FROM <source_table> WHERE <predicate>
    Σημειώσεις
    • Το <target_table></target_table> αντιπροσωπεύει το όνομα του πίνακα προορισμού πραγματικά.
    • Το <predicate></predicate> αντιπροσωπεύει το πραγματικό κατηγόρημα.
    • Το <source_table></source_table> αντιπροσωπεύει τον πίνακα προέλευσης πραγματικά.
  • Υπέρβαση του ορίου κλιμάκωση κλειδώματος του πίνακα.
Σε αυτό το σενάριο, ο μηχανισμός βάσης δεδομένων προωθήστε κλειδώματα του πίνακα.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ο SQL Server δεν μετρά εσωτερικά όλα τα κλειδώματα νέα που δημιουργούνται από λειτουργίες ΕΙΣΑΓΩΓΉΣ. Επομένως, το όριο κλειδώματος κλιμάκωση ίσως δεν ενεργοποιείται όταν είναι απαραίτητο.

Προτεινόμενη αντιμετώπιση

Πληροφορίες υπηρεσίας Service pack για SQL Server 2008

Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το πιο πρόσφατο service pack για SQL Server 2008.

Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
968382 Τρόπος απόκτησης του τελευταίου service pack για SQL Server 2008

Πληροφορίες υπηρεσίας Service pack για SQL Server 2008 R2

Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το πιο πρόσφατο service pack για SQL Server 2008 R2. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2527041Τρόπος απόκτησης του τελευταίου service pack για SQL Server 2008 R2

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα στα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Το ζήτημα αυτό διορθώθηκε αρχικά στο SQL Server 2008 Service Pack 2 για SQL Server 2008.
Αυτό το ζήτημα διορθώθηκε αρχικά στο SQL Server 2008 R2 Service Pack 1 για τον SQL Server 2008 R2.

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

Για περισσότερες πληροφορίες σχετικά με το κλείδωμα κλιμάκωση, επισκεφθείτε την ακόλουθη τοποθεσία Web του Microsoft TechNet:
Γενικές πληροφορίες σχετικά με το κλείδωμα κλιμάκωσης
Για να προσδιορίσετε αν έχουν αναχθεί ενίσχυση κλειδώματα ενός πίνακα, εκτελέστε τις ακόλουθες προτάσεις Transact-SQL:
USE tempdb
GO

CREATE TABLE x 
(
i INT NOT NULL PRIMARY KEY
)
GO

BEGIN TRAN
INSERT x
SELECT TOP (40000)
ROW_NUMBER() OVER 
(
ORDER BY (SELECT NULL)
) AS r
FROM 
master..spt_values a, 
master..spt_values b
ORDER BY
r

SELECT
COUNT(*)
FROM sys.dm_tran_locks
WHERE 
request_session_id = @@SPID 
ROLLBACK
GO

DROP TABLE x   
Εάν έχουν αναχθεί ενίσχυση κλειδώματα του πίνακα, η τελευταία πρόταση SELECT επιστρέφει την τιμή είτε 1 ή 2. Εάν δεν έχουν αναχθεί ενίσχυση κλειδώματα του πίνακα, η τελευταία πρόταση SELECT επιστρέφει την τιμή είτε 40,066 ή 40,067.


Ιδιότητες

Αναγν. άρθρου: 2448971 - Τελευταία αναθεώρηση: Παρασκευή, 22 Απριλίου 2011 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
Λέξεις-κλειδιά: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2448971 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:2448971

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

 

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