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

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

Συμπτώματα

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

  • Μπορείτε να εκτελέσετε ένα πακέτο υπηρεσιών ενοποίησης SQL Server (SSIS) στο SQL Server 2005 ή στο SQL Server 2008.

  • Το πακέτο SSIS περιέχει μια εργασία ροής δεδομένων.

  • Μπορείτε να εκτελέσετε το πακέτο SSIS σε έναν υπολογιστή που έχει χαμηλή διαθέσιμη μνήμη. Η κατάσταση χαμηλής μνήμης μπορεί να παρουσιαστεί προσωρινά ή κατά διαστήματα.

  • Όταν εκτελείτε το πακέτο SSIS, τα buffer δεδομένων εγγράφονται στο δίσκο εξαιτίας της κατάστασης χαμηλής μνήμης.

Σε αυτό το σενάριο, ενδέχεται να αντιμετωπίσετε ένα ή περισσότερα από τα ακόλουθα συμπτώματα:

Σύμπτωμα 1

Τα δεδομένα καταστρέφονται πριν φτάσουν στον προορισμό ροής δεδομένων. Μπορείτε να διαπιστώσετε ότι τα δεδομένα στον προορισμό ροής δεδομένων γίνονται οι ακόλουθες τιμές απροσδόκητα.

  • "" : Τιμές NULL, κενές ή κενές συμβολοσειρές
  • 0 : Μηδενική τιμή ή μηδενική τιμή που έχει μεγαλύτερη ακρίβεια και κλίμακα.
  • 0-0-0 0:0:0 : Διακεκομμένη τιμή μηδενικής ημερομηνίας

Σημείωση Δεν θα λάβετε μήνυμα λάθους όταν αντιμετωπίσετε αυτό το σύμπτωμα.

Σύμπτωμα 2

Λαμβάνετε ένα από τα ακόλουθα μηνύματα σφάλματος μετατροπής τύπου δεδομένων:

Μήνυμα σφάλματος 1

Σημείωση

DTS_E_OLEDBERROR. Παρουσιάστηκε σφάλμα OLE DB. Κωδικός σφάλματος: 0x80004005.

Υπάρχει διαθέσιμη μια εγγραφή OLE DB. Προέλευση: "Microsoft SQL Native Client" Hresult: 0x80004005 Περιγραφή: "Μη έγκυρη τιμή χαρακτήρων για προδιαγραφή cast".

Μήνυμα σφάλματος 2

Σημείωση

DTS_E_COLUMNSTATUSERROR. Παρουσιάστηκε σφάλμα με τη στήλη εισόδου "ColumnName" (IDnumber) στην είσοδο "OLE DB Destination Input" (IDNumber). Η κατάσταση στήλης που επιστράφηκε ήταν: "Η μετατροπή απέτυχε επειδή η τιμή δεδομένων υπερχείλισε τον καθορισμένο τύπο.".

Σύμπτωμα 3

Λαμβάνετε το ακόλουθο μήνυμα σφάλματος παραβίασης περιορισμού:

Σημείωση

DTS_E_OLEDBERROR. Παρουσιάστηκε σφάλμα OLE DB. Κωδικός σφάλματος: 0x80004005.

Υπάρχει διαθέσιμη μια εγγραφή OLE DB. Προέλευση: "Microsoft SQL Native Client" Hresult: 0x80004005 Περιγραφή: "Η πρόταση τερματίστηκε.".

Υπάρχει διαθέσιμη μια εγγραφή OLE DB. Προέλευση: "Microsoft SQL Native Client" Hresult: 0x80004005 Περιγραφή: "Παραβίαση του περιορισμού PRIMARY KEY 'PrimaryKeyName'. Δεν είναι δυνατή η εισαγωγή διπλότυπου κλειδιού στο αντικείμενο 'TableName'.".

Επιπλέον, εάν εκτελέσετε ξανά το ίδιο πακέτο SSIS όταν είναι διαθέσιμη μνήμη, αυτό το ζήτημα δεν παρουσιάζεται.

Αιτία

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

Επίλυση

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

Η τελική έκδοση του SQL Server 2008

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

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

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

SQL Server 2008 Service Pack 1 (SP1)

Σημαντικό Πρέπει να εγκαταστήσετε αυτήν την ενημέρωση κώδικα εάν εκτελείτε SQL Server 2008 Service Pack 1 (SP1).

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

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

970365 Οι εκδόσεις του SQL Server 2008 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server Service Pack 1 2008
 Οι επείγουσες επιδιορθώσεις του Microsoft SQL Server 2008 δημιουργούνται για συγκεκριμένα SQL Server service pack. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2008 Service Pack 1 σε μια εγκατάσταση του SQL Server 2008 Service Pack 1. Από προεπιλογή, οποιαδήποτε επείγουσα επιδιόρθωση παρέχεται σε ένα SQL Server service pack περιλαμβάνεται στο επόμενο SQL Server service pack.

SQL Server 2005 Service Pack 2 (SP2)

Σημαντικό Πρέπει να εγκαταστήσετε αυτήν την ενημέρωση κώδικα εάν εκτελείτε το SQL Server 2005 Service Pack 2.

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 15 για SQL Server 2005 Service Pack 2. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

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

937137 Οι εκδόσεις του SQL Server 2005 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2005 Service Pack 2
Οι επείγουσες επιδιορθώσεις του Microsoft SQL Server 2005 δημιουργούνται για συγκεκριμένα SQL Server service pack. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2005 Service Pack 2 σε μια εγκατάσταση του SQL Server 2005 Service Pack 2. Από προεπιλογή, οποιαδήποτε επείγουσα επιδιόρθωση παρέχεται σε ένα SQL Server service pack περιλαμβάνεται στο επόμενο SQL Server service pack.

SQL Server 2005 Service Pack 3 (SP3)

Σημαντικό Πρέπει να χρησιμοποιήσετε αυτήν την ενημέρωση κώδικα εάν εκτελείτε το SQL Server 2005 Service Pack 3.

Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε επίσης στην αθροιστική ενημερωμένη έκδοση 5 για SQL Server 2005 Service Pack 3. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

972511 Πακέτο αθροιστικών ενημερώσεων 5 για το SQL Server 2005 Service Pack 3Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη έκδοση SQL Server 2005 της ενημέρωσης κώδικα. Η Microsoft συνιστά να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:

960598 Οι εκδόσεις του SQL Server 2005 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server Service Pack 3
Οι επείγουσες επιδιορθώσεις του Microsoft SQL Server 2005 δημιουργούνται για συγκεκριμένα SQL Server service pack. Πρέπει να εφαρμόσετε μια επείγουσα επιδιόρθωση του SQL Server 2005 Service Pack 3 σε μια εγκατάσταση του SQL Server 2005 Service Pack 3. Από προεπιλογή, οποιαδήποτε επείγουσα επιδιόρθωση παρέχεται σε ένα SQL Server service pack περιλαμβάνεται στο επόμενο SQL Server service pack.

Λύση

Για να επιλύσετε αυτό το ζήτημα, επιλύστε την κατάσταση χαμηλής μνήμης. Η ελάχιστη ποσότητα μνήμης που μπορεί να προκαλέσει αυτό το πρόβλημα διαφέρει από υπολογιστή σε υπολογιστή. Γενικά, το μέγεθος αυτό κυμαίνεται μεταξύ 32 megabyte (MB) και 64 MB διαθέσιμης μνήμης. Επομένως, συνιστάται να ρυθμίσετε τις παραμέτρους του διακομιστή ώστε να εκχωρεί περισσότερα από 64 MB διαθέσιμης μνήμης στο SSIS.

Η προεπιλεγμένη ποσότητα διαθέσιμης μνήμης που σηματοδοτεί ένα συμβάν ειδοποίησης ανεπαρκούς πόρου μνήμης είναι περίπου 32 MB ανά 4 gigabyte (GB) έως το μέγιστο 64 MB ανά 4 GB. Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:

https://msdn.microsoft.com/library/aa366541(vs.85).aspx
        
Ωστόσο, είναι δύσκολο να αποτραπεί πλήρως αυτό το πρόβλημα, επειδή η διαθέσιμη μνήμη ενδέχεται να παρουσιάζει μεγάλες διακυμάνσεις σε απασχολημένους διακομιστές παραγωγής. Επιπλέον, η μνήμη μπορεί να μειωθεί για διάφορους λόγους μέσα στις συνήθεις δραστηριότητες. Για να μειώσετε τη συχνότητα αυτού του προβλήματος, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

Μέθοδος 1

Προσθέστε περισσότερη φυσική μνήμη στον υπολογιστή.

Μέθοδος 2

Εκτελέστε το πακέτο SSIS σε διαφορετικό υπολογιστή από τον υπολογιστή που εκτελεί την παρουσία του SQL Server.

Μέθοδος 3

Εάν εκτελέσετε το πακέτο SSIS στον ίδιο υπολογιστή που εκτελεί την παρουσία του SQL Server, ορίστε την επιλογή ρύθμισης παραμέτρων μέγιστης μνήμης διακομιστή για την παρουσία σε μικρότερη τιμή για να αυξήσετε τη διαθέσιμη μνήμη στον υπολογιστή.

Μέθοδος 4

Κλείστε αγχωτικές εφαρμογές που καταναλώνουν πολλή μνήμη όταν εκτελείτε πακέτα SSIS που περιέχουν Ροή δεδομένων εργασίες.

Μέθοδος 5

Εκτελέστε τα πακέτα SSIS και τις εργασίες ροής δεδομένων σειριακά αντί παράλληλα για να μειώσετε τη σωρευτική κατανάλωση της χρήσης μνήμης.

Μέθοδος 6

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

Κατάσταση

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

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

Περισσότερες λεπτομέρειες σχετικά με τα συμπτώματα

Σύμπτωμα 1

Εάν βρείτε κατεστραμμένες τιμές δεδομένων στον προορισμό ροής δεδομένων, οι κατεστραμμένες τιμές δεδομένων ενδέχεται να εμφανίζονται ως διαφορετικές αναπαραστάσεις, ανάλογα με τον τύπο δεδομένων. Για παράδειγμα, οι παρακάτω τύποι δεδομένων εμφανίζονται ως διάφορες αναπαραστάσεις κατεστραμμένων τιμών δεδομένων:

DT_STR = "" Τιμές συμβολοσειράς NULL, κενά ή κενά
DT_I4 = 0 Μηδενική τιμή του ακέραιου τύπου δεδομένων
DT_UI1 = 0 Μηδενική τιμή του τύπου δεδομένων ακέραιου χωρίς πρόσημο
DT_NUMERIC = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Μηδενική τιμή που έχει μεγαλύτερη ακρίβεια και κλίμακα.
DT_DBTIMESTAMP = 0-0-0 0:0:0 Διακεκομμένη τιμή μηδενικής ημερομηνίας

Στα περισσότερα σενάρια, όλες οι στήλες και όλες οι γραμμές έχουν τις κατεστραμμένες τιμές δεδομένων ή ένα σημαντικό μέρος των στηλών και των γραμμών έχουν κατεστραμμένες τιμές δεδομένων. Επιπλέον, ο συνολικός αριθμός των γραμμών που φτάνουν στον προορισμό συνήθως ταιριάζει με τον αριθμό των αναμενόμενων γραμμών στον προορισμό, ακόμη και όταν τα δεδομένα είναι κατεστραμμένα. Αυτό προκαλείται από ένα πρόβλημα buffer. Μπορεί να επηρεαστεί ένα ολόκληρο buffer ή ένα σύνολο buffer στην εργασία ροής δεδομένων που εκτελείται. Ανάλογα με το μέγεθος του buffer και το μέγεθος των δεδομένων ανά γραμμή, κάθε buffer μπορεί να περιέχει εκατοντάδες γραμμές.

Σε ορισμένες σύνθετες σχεδιάσεις, δεν επηρεάζονται όλες οι στήλες στην εργασία ροής δεδομένων. Εάν γίνει χειρισμός των δεδομένων μέσα στην εργασία ροής δεδομένων με τη χρήση μετασχηματισμών όπως παραστάσεις, μετασχηματισμός παραγόμενης στήλης και μετασχηματισμός αναζήτησης, ορισμένες στήλες των δεδομένων μπορεί να παραμείνουν ίδιες με τις αναμενόμενες τιμές τους. Αυτό συμβαίνει επειδή το SSIS αντικαθιστά τα κατεστραμμένα δεδομένα κατά την εργασία ροής δεδομένων με αυτές τις μετασχηματισμένες τιμές.

Σε άλλες σύνθετες σχεδιάσεις, ορισμένες γραμμές ενδέχεται να χαθούν. Λόγω της ευέλικτης φύσης της κατεύθυνσης των δεδομένων στα σχέδια ροής δεδομένων SSIS, τα κατεστραμμένα δεδομένα ενδέχεται να δρομολογηθούν σε μη αναμενόμενο προορισμό, εάν οι μη αναμενόμενες τιμές δεδομένων γίνουν αντιληπτές στη στήλη υπό όρους από τη σχεδίαση. Όταν χρησιμοποιείτε μετασχηματισμούς, όπως μετασχηματισμούς διαίρεσης υπό όρους ή μετασχηματισμούς αναζήτησης, ορισμένες γραμμές ενδέχεται να χαθούν όταν ο μετασχηματισμός αναδρομολογεί κατεστραμμένες τιμές δεδομένων. Για παράδειγμα, σε μετασχηματισμούς αναζήτησης, εάν οι κατεστραμμένες γραμμές δεν ταιριάζουν με κανένα δεδομένο αναφοράς, οι γραμμές θα απορριφθούν.

Σύμπτωμα 2

Επειδή οι μηδενικές τιμές δεν είναι έγκυρες τιμές σε ορισμένους τύπους δεδομένων, ενδέχεται να παρουσιαστούν σφάλματα μετατροπής τύπου δεδομένων όταν η υπηρεσία παροχής OLE DB μετατρέπει τύπους δεδομένων. Περιστασιακά, μπορεί επίσης να προκύψει υπερχείλιση τύπου δεδομένων. Για παράδειγμα, μια στήλη του τύπου δεδομένων datetime έχει μια τιμή "0-0-0 0:0:0". Αυτή η μη έγκυρη τιμή θα προκαλέσει αυτόν τον τύπο σφάλματος, επειδή η υπηρεσία παροχής OLE DB δεν μπορεί να μορφοποιήσει τα μηδενικά σε μια έγκυρη τιμή ημερομηνίας για την υπηρεσία παροχής SQL Native Client OLE DB.

Σύμπτωμα 3

Οι παραβιάσεις περιορισμών ενδέχεται να προκύψουν επειδή εισάγονται διπλότυπες τιμές πρωτεύοντος κλειδιού στον προορισμό ροής δεδομένων. Για παράδειγμα, εισάγονται πολλές μηδενικές τιμές σε μια στήλη του τύπου δεδομένων ακεραίου ή πολλαπλές τιμές NULL εισάγονται σε μια στήλη του τύπου δεδομένων varchar. Παρόμοια, η σχέση εξωτερικού κλειδιού μπορεί να παραβιαστεί όταν εισάγονται διπλότυπες τιμές κλειδιών στον πίνακα προορισμού.

Πώς μπορείτε να προσδιορίσετε αν αντιμετωπίζετε αυτό το πρόβλημα

Οι παρακάτω δείκτες μπορούν να χρησιμοποιηθούν για να προσδιορίσετε εάν αντιμετωπίζετε αυτό το πρόβλημα:

  • Μπορείτε να παρακολουθήσετε το μετρητή σε ουρά buffers για το αντικείμενο SQL Server:SSIS Pipelineperformance για να προσδιορίσετε εάν ο μηχανισμός ροής δεδομένων εγγράφει buffer δεδομένων στο δίσκο λόγω μιας ειδοποίησης ανεπαρκούς πόρου μνήμης.

  • Μπορείτε επίσης να εξετάσετε το αρχείο DTS.tmp που βρίσκεται στον προσωρινό κατάλογο που καθορίζεται στην ιδιότητα BufferTempStoragePath της εργασίας ροής δεδομένων. Εάν παρατηρήσετε ότι το μέγεθος του αρχείου DTS.tmp αυξάνεται, ο μηχανισμός ροής δεδομένων εγγράφει buffer δεδομένων στο δίσκο.

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

  • Μια άλλη ένδειξη πολύ χαμηλής διαθέσιμης μνήμης είναι ότι καταγράφεται το ακόλουθο μήνυμα στο αρχείο καταγραφής πακέτου SSIS:

    Σημείωση

    DTS_I_CANTRELIEVEPRESSURE Ο διαχειριστής buffer εντόπισε ότι η εικονική μνήμη του συστήματος δεν ήταν επαρκής, αλλά δεν ήταν δυνατή η ανταλλαγή buffer. Εξετάστηκαν 8 buffers και 8 κλειδώθηκαν. Είτε δεν υπάρχει αρκετή διαθέσιμη μνήμη στη διοχέτευση επειδή δεν είναι αρκετή εγκατεστημένη, είτε άλλες διεργασίες τη χρησιμοποιούν είτε πάρα πολλά buffers είναι κλειδωμένα.

Τρόπος παρακολούθησης της κατανάλωσης μνήμης για το SSIS

Παρακολουθήστε τη μνήμη για να μετρήσετε τη μέγιστη χρήση για διάφορες υπηρεσίες ενοποίησης SQL Server Διεργασίες χρόνου εκτέλεσης για τον υπολογισμό της μέγιστης χρήσης μνήμης

Παρακολουθήστε τη μέγιστη χρήση μνήμης των διαφόρων διεργασιών χρόνου εκτέλεσης των υπηρεσιών ενοποίησης SQL Server, όπως οι διεργασίες DTExec.exe και DTSHost.exe, χρησιμοποιώντας το μετρητή ιδιωτικών byte του αντικειμένου Process στην Εποπτεία επιδόσεων.

Όταν εκτελούνται τα πακέτα υπηρεσιών ενοποίησης SQL Server, βρείτε τη μέγιστη τιμή για το μετρητή ιδιωτικών byte του αντικειμένου Process στην Εποπτεία επιδόσεων. Εξετάστε το σενάριο όπου πολλά πακέτα εκτελούνται παράλληλα. Σε αυτό το σενάριο, προσθέστε τις μέγιστες τιμές όλων των διεργασιών που εκτελούνται για να αποκτήσετε τη μέγιστη χρήση μνήμης.

Παρακολουθήστε τις εξωτερικές διαδικασίες για να βρείτε τις κορυφές και τις κοιλάδες

Παρακολουθήστε τη μέγιστη χρήση μνήμης από διεργασίες εκτός από την υπηρεσία SQL Server και την υπηρεσία SSIS, χρησιμοποιώντας το μετρητή ιδιωτικών byte του αντικειμένου Process στην Εποπτεία επιδόσεων. Αναζητήστε τις ώρες αιχμής χρήσης που ενδέχεται να προκαλέσουν ανεπαρκή μνήμη για τις υπηρεσίες ενοποίησης SQL Server. Για παράδειγμα, εξετάστε τις ώρες αιχμής όπου πολλοί χρήστες χρησιμοποιούν το πρωτόκολλο Απομακρυσμένη επιφάνεια εργασίας Protocol (RDP) για να συνδεθούν με το διακομιστή και εξετάστε τις ώρες κατά τις οποίες εκτελείται το λογισμικό δημιουργίας αντιγράφων ασφαλείας.

Παρακολουθήστε τη χρήση μνήμης SQL Server για να βρείτε τις κορυφές και τις κοιλάδες

Εάν το μήνυμα "Χρήση κλειδωμένων σελίδων για το χώρο συγκέντρωσης buffer." δεν υπάρχει στο πρόσφατο αρχείο Errorlog, ο μετρητής ιδιωτικών byte για τη διεργασία Sqlservr.exe μπορεί να υποδεικνύει πόση μνήμη καταναλώνεται από τις υπηρεσίες SQL Server.

Εάν το μήνυμα υπάρχει στο πρόσφατο αρχείο Errorlog, χρησιμοποιήστε το μετρητή Total Server Memory (KB) του αντικειμένου επιδόσεων SQL Server: Memory Manager για τη μέτρηση της χρήσης μνήμης του χώρου αποθήκευσης buffer SQL Server. Επιπλέον, χρησιμοποιήστε το μετρητή ιδιωτικών byte για τη διαδικασία Sqlservr.exe για να βρείτε τις εκχωρήσεις μνήμης έξω από το χώρο συγκέντρωσης buffer (MemToLeave). Το άθροισμα των δύο τιμών, της τιμής Total Server Memory (KB) και της τιμής MemToLeave, αποτελεί μια καλή εκτίμηση της συνολικής κατανάλωσης μνήμης SQL Server.

Η Εποπτεία επιδόσεων και η Διαχείριση εργασιών δεν εμφανίζουν τη μνήμη που καταναλώνεται από αυτές τις σελίδες χώρου συγκέντρωσης buffer, εάν ισχύει ένα από τα ακόλουθα:

  • Εάν το δικαίωμα χρήστη "Κλείδωμα σελίδων στη μνήμη" έχει εκχωρηθεί στο λογαριασμό εκκίνησης της υπηρεσίας SQL Server.
  • Αν η μνήμη AWE είναι ενεργοποιημένη.

Σημείωση Εάν το δικαίωμα χρήστη Κλείδωμα σελίδων στη μνήμη δεν έχει εκχωρηθεί στο λογαριασμό εκκίνησης της υπηρεσίας SQL Server και το AWE δεν είναι ενεργοποιημένο, ο μετρητής ιδιωτικών byte για τη διαδικασία Sqlservr.exe πρέπει να υποδεικνύει τη μνήμη που καταναλώνεται από τις υπηρεσίες SQL για τις διάφορες SQL Server εμφανίσεις.

Παρακολουθήστε την ελάχιστη τιμή της διαθέσιμης μνήμης στα Windows

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

  • Ο διαθέσιμος μετρητής MBytes στην Εποπτεία επιδόσεων.

  • Η τιμή Φυσική μνήμη (MB) – Δωρεάν στην καρτέλα Επιδόσεις της Διαχείρισης εργασιών.

    Σημείωση Σε ορισμένα λειτουργικά συστήματα, η φυσική μνήμη (MB) – δωρεάν επισημαίνεται ως φυσική μνήμη (K) – διαθέσιμη.

Παραπομπές

Για περισσότερες πληροφορίες σχετικά με την ιδιότητα MainPipeClass.BufferTempStoragePath , επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft Developer Network (MSDN) στο Web:

https://msdn.microsoft.com/library/microsoft.sqlserver.dts.pipeline.wrapper.mainpipeclass.buffertempstoragepath.aspx
Για περισσότερες πληροφορίες σχετικά με τον τρόπο βελτιστοποίησης των επιδόσεων του διακομιστή, χρησιμοποιώντας τις επιλογές ρύθμισης παραμέτρων μνήμης, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:

https://msdn.microsoft.com/library/aa178118(sql.80).aspx
Για περισσότερες πληροφορίες σχετικά με τους μετρητές εποπτείας επιδόσεων, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

https://technet.microsoft.com/library/cc768048.aspx
Για περισσότερες πληροφορίες σχετικά με τον τρόπο χρήσης των πεδίων πολλαπλής διανομής, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:

https://technet.microsoft.com/library/cc758554(ws.10).aspxΓια περισσότερες πληροφορίες σχετικά με το μοντέλο τμηματικής συντήρησης για το SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

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

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

822499 Νέα διάταξη ονομασίας για τα πακέτα ενημέρωσης λογισμικού του Microsoft SQL Server

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

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