KB4522126 - ΕΠΙΔΙΟΡΘΩΣΗ: Ενδέχεται να λάβετε εσφαλμένα αποτελέσματα κατά την υποβολή ερωτήματος sys.database_scoped_configurations στο SQL Server 2016

Ισχύει για
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Συμπτώματα

Όταν εκτελείτε ένα ερώτημα που εισάγει το αποτέλεσμα του sys.database_scoped_configurations σε μια μεταβλητή πίνακα ή έναν προσωρινό πίνακα στο Microsoft SQL Server 2016 και, στη συνέχεια, επιλέγετε από αυτήν τη μεταβλητή πίνακα ή τον προσωρινό πίνακα, όπως φαίνεται στο παρακάτω παράδειγμα, ενδέχεται να παρατηρήσετε ότι υπάρχει μόνο μία καταχώρηση για κάθε βάση δεδομένων.

DROP TABLE ΕΆΝ ΥΠΆΡΧΕΙ #h

CREATE TABLE #h(configuration_id INT, name sysname, value SQL_VARIANT value_for_secondary SQL_VARIANT)

INSERT INTO #h(configuration_id; όνομα; τιμή;value_for_secondary)

SELECT * FROM sys.database_scoped_configurations D'

SELECT * FROM #h H

ή

DECLARE @database\_scoped\_configurations TABLE(x INT);

ΕΙΣΑΓΩΓΉ ΣΕ @database\_scoped\_configurations

ΕΠΙΛΈΞΤΕ configuration_id

ΑΠΌ sys.database_scoped_configurations;

ΕΠΙΛΈΞΤΕ * ΑΠΌ @database\_scoped\_configurations

Κατάσταση

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

Επίλυση

Αυτό το πρόβλημα διορθώνεται στην ακόλουθη αθροιστική ενημέρωση για SQL Server:

Πληροφορίες σχετικά με τις συγκεντρωτικές ενημερώσεις για SQL Server:

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

Λύση

Για να επιλύσετε αυτό το ζήτημα, μπορείτε να προσθέσετε έναν όρο TOP στο τμήμα SELECT του ένθετου για να λάβετε το σωστό αποτέλεσμα. Ακολουθεί ένα παράδειγμα:

ΔΗΛΩΣΗ @database_scoped_configurations TABLE(x INT);

ΕΙΣΑΓΩΓΉ ΣΕ @database_scoped_configurations

ΕΠΙΛΟΓΉ ΠΡΏΤΩΝ 100 configuration_id

ΑΠΌ sys.database_scoped_configurations

Παραπομπές

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