Η Microsoft διανέμει τις επιδιορθώσεις του Microsoft SQL Server 2008 και του Microsoft SQL Server 2008 R2 ως ένα αρχείο με δυνατότητα λήψης. Επειδή οι ενημερώσεις κώδικα είναι αθροιστικές, κάθε νέα έκδοση περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 ή SQL Server 2008 R2 έκδοση της ενημέρωσης κώδικα.
Συμπτώματα
Εξετάστε το ακόλουθο σενάριο:
Μπορείτε να δημιουργήσετε μια δημοσίευση συναλλαγών στο Microsoft SQL Server 2008 ή στο Microsoft SQL Server 2008 R2.
Έχετε μια προβολή με ευρετήριο. Μπορείτε να ορίσετε την ιδιότητα ANSI_NULLS της προβολής ευρετηρίου σε TRUE.
Μπορείτε να προσθέσετε την προβολή με ευρετήριο στη δημοσίευση ως άρθρο. Μπορείτε να ορίσετε τον τύπο του άρθρου σε "προβολή με ευρετήριο που έχει καταγραφεί".
Σημείωση Μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα, για να καθορίσετε τον τύπο προβολής με ευρετήριο. Αυτό μπορείτε να το κάνετε όταν εκτελείτε την sp_addarticle αποθηκευμένη διαδικασία για να προσθέσετε το άρθρο της προβολής με ευρετήριο στη δημοσίευση.
@type = N'indexed view logbased'Μπορείτε να δημιουργήσετε μια συνδρομή για τη δημοσίευση συναλλαγών.
Η προβολή με ευρετήριο αναπαράγεται στη βάση δεδομένων συνδρομής.
Σε αυτό το σενάριο, η ιδιότητα ANSI_NULLS της προβολής με ευρετήριο αλλάζει σε FALSE στη βάση δεδομένων συνδρομής.
Σημειώσεις
- Αυτό το πρόβλημα παρουσιάζεται συνήθως όταν η ιδιότητα ANSI_NULLS των πινάκων που εμπλέκονται στη δομή της παράστασης SQL της προβολής ευρετηρίου έχει οριστεί σε FALSE.
- Αυτό το πρόβλημα υπάρχει επίσης στο Microsoft SQL Server 2005.
Αιτία
Αυτό το ζήτημα παρουσιάζεται επειδή οι πίνακες, οι προβολές, οι συναρτήσεις και οι αποθηκευμένες διαδικασίες στο SQL Server 2008 μοιράζονται το ίδιο bit χώρου αποθήκευσης για την ιδιότητα ANSI_NULL. Επομένως, εάν η ιδιότητα ANSI_NULLS ενός από τους πίνακες που εμπλέκονται στη δομή των παραστάσεων SQL της προβολής με ευρετήριο έχει οριστεί σε FALSE, η προεπιλεγμένη ιδιότητα ANSI_NULLS για την προβολή με ευρετήριο θα είναι FALSE.
Επίλυση
Πληροφορίες αθροιστικής ενημέρωσης
SQL Server 2008 Service Pack 1
Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 10 για SQL Server 2008 Service Pack 1. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2279604 Αθροιστική ενημερωμένη έκδοση πακέτου 10 για SQL Server 2008 Service Pack 1Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη έκδοση SQL Server 2008 της ενημέρωσης κώδικα. Η Microsoft συνιστά να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης της ενημέρωσης κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
970365 Οι εκδόσεις του SQL Server 2008 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 Service Pack 1 Οι επείγουσες επιδιορθώσεις του 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 2008 Service Pack 2
Η ενημέρωση κώδικα για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 1 για SQL Server 2008 Service Pack 2. Για περισσότερες πληροφορίες σχετικά με αυτό το πακέτο αθροιστική ενημερωμένη έκδοση, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2289254 Αθροιστική ενημερωμένη έκδοση 1 για SQL Server 2008 Service Pack 2Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη έκδοση SQL Server 2008 της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης ενημερώσεων κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
2402659 Οι εκδόσεις του SQL Server 2008 που κυκλοφόρησαν μετά την κυκλοφορία του SQL Server Service Pack 2
SQL Server 2008 R2
Η επιδιόρθωση για αυτό το ζήτημα κυκλοφόρησε πρώτα στην αθροιστική ενημερωμένη έκδοση 4. Για περισσότερες πληροφορίες σχετικά με τον τρόπο απόκτησης αυτού του πακέτου αθροιστική ενημερωμένη έκδοση για το SQL Server 2008 R2, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής βάσης της Microsoft:
2345451 Πακέτο αθροιστικών ενημερώσεων 4 για το SQL Server 2008 R2 Σημείωση Επειδή το build που είναι αθροιστικές, κάθε νέα έκδοση της ενημέρωσης κώδικα περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη SQL Server 2008 R2 έκδοση της ενημέρωσης κώδικα. Συνιστάται να εξετάσετε την εφαρμογή της πιο πρόσφατης έκδοσης ενημερώσεων κώδικα που περιέχει αυτήν την επείγουσα επιδιόρθωση. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για προβολή του άρθρου στη Γνωσιακή Βάση της Microsoft:
981356 Οι SQL Server δομές του 2008 R2 κυκλοφόρησαν μετά την κυκλοφορία του SQL Server 2008 R2
Λύση
Για να επιλύσετε αυτό το ζήτημα, ενημερώστε το cache μετα-δεδομένων μετά τη δημιουργία της προβολής με ευρετήριο και πριν από την εκτέλεση sp_addarticle για να προσθέσετε το άρθρο για την προβολή με ευρετήριο.
Σημειώσεις Για να ενημερώσετε το cache μετα-δεδομένων, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:
- Διακόψτε την υπηρεσία SQL Server και, στη συνέχεια, ξεκινήστε την υπηρεσία.
- Ορίστε τη βάση δεδομένων συνδρομής σε εργασία χωρίς σύνδεση και, στη συνέχεια, ορίστε τη βάση δεδομένων σε σύνδεση.
Κατάσταση
Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".
Παραπομπές
Για περισσότερες πληροφορίες σχετικά με την sp_addarticle αποθηκευμένη διαδικασία, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Εισαγωγή στην αποθηκευμένη διαδικασία sp_addarticle (Transact-SQL) Για περισσότερες πληροφορίες σχετικά με τη δημοσίευση δεδομένων και αντικειμένων βάσης δεδομένων, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Δημοσίευση δεδομένων και αντικειμένων βάσης δεδομένων Για περισσότερες πληροφορίες σχετικά με το μοντέλο τμηματικής συντήρησης για το SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
935897 Ένα μοντέλο τμηματικής συντήρησης είναι διαθέσιμο από την ομάδα SQL Server για την παροχή επειγουσών επιδιορθώσεων για τα προβλήματα που έχουν αναφερθεί
Για περισσότερες πληροφορίες σχετικά με τη διάταξη ονομασίας για ενημερωμένες εκδόσεις SQL Server, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
822499 Νέα διάταξη ονομασίας για τα πακέτα ενημερωμένων εκδόσεων λογισμικού του Microsoft SQL Server Για περισσότερες πληροφορίες σχετικά με την ορολογία ενημερωμένων εκδόσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
824684 Περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft