Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Συμπτώματα

Ας υποθέσουμε ότι δημιουργείτε μια αποθηκευμένη διαδικασία που χρησιμοποιεί ένα δρομέα σε μια μεταβλητή πίνακα στον Microsoft SQL Server 2012 ή στον SQL Server 2014. Επιπλέον, η αποθηκευμένη διαδικασία ενημερώνει τον πίνακα χρησιμοποιώντας ένα σημείο όπου το ρεύμα της πρότασης μαζί με το δρομέα. Για παράδειγμα, η αποθηκευμένη διαδικασία μπορεί να μοιάζει με την εξής:

CREATE PROCEDURE dbo.usp_TestSP AS  BEGIN  DECLARE @TableVar TABLE (SomeInt INT NULL) INSERT @TableVar VALUES (NULL)  DECLARE @curInt INT, @newInt INT SET @newInt = 1  DECLARE ccc CURSOR LOCAL FOR SELECT SomeInt FROM @TableVar WHERE SomeInt IS NULL  OPEN ccc  FETCH NEXT FROM ccc INTO @curInt UPDATE @TableVar SET SomeInt = @newInt WHERE CURRENT OF cccCLOSE ccc  SELECT * FROM @TableVar END 

Όταν εκτελείτε την αποθηκευμένη διαδικασία χρησιμοποιώντας τη sp_refreshsqlmodule αποθηκευμένη διαδικασία συστήματος, ενδέχεται να παρουσιαστεί παραβίαση πρόσβασης και ενδέχεται να λάβετε μηνύματα σφάλματος που μοιάζουν με τα εξής:

MSG 596, επίπεδο 21, κατάσταση 1Cannot να συνεχίσετε την εκτέλεση, επειδή η περίοδος λειτουργίας βρίσκεται στην κατάσταση Kill. Msg 0, επίπεδο 20, κατάσταση 0A σοβαρό σφάλμα παρουσιάστηκε στην τρέχουσα εντολή. Τα αποτελέσματα, εάν υπάρχουν, θα πρέπει να απορρίπτονται.

Σε αυτήν την περίπτωση, τα σφάλματα που μοιάζουν με τα παρακάτω εγγράφονται επίσης στα αρχεία καταγραφής σφαλμάτων του SQL Server:

Date Time. 730 spid51 SqlDumpExceptionHandler: η διαδικασία 51 δημιούργησε ανεπανόρθωτη εξαίρεση C0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.date time.730 spid51 * *******************************************************************************date time.730 spid51 *date time.730 spid51 * BEGIN STACK DUMP:date time.730 spid51 * date time spid 51date time.730 spid51 *date time.730 spid51 *date time.730 spid51 * Exception Address = 00007FFC270236D5 Module(sqllang+00000000005036D5)date time.730 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATIONdate time.730 spid51 * Access Violation occurred reading address 0000006F00620074date time.730 spid51 * Input Buffer 136 bytes -date time.730 spid51 * EXECUTE sp_refreshsqlmodule N'[dbo]. [usp_TestSP] ' Date Time. 730 spid51 * Date. 730 spid51 *

Επίλυση

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

Αυτό το πρόβλημα διορθώνεται στις ακόλουθες ενημερώσεις:

Κάθε νέα αθροιστική ενημέρωση για τον SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη αθροιστική ενημέρωση. Ανάληψη ελέγχου των πιο πρόσφατων αθροιστικών ενημερώσεων για τον SQL Server:

Κατάσταση

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

Αναφορές

Μάθετε περισσότερα σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.

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

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

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

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

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×