Gejala
Saat Anda menjalankan kueri yang menyisipkan output dari sys.database_scoped_configurations ke variabel tabel atau tabel sementara di Microsoft SQL Server 2016, lalu pilih dari variabel tabel tersebut atau sementara tabel seperti yang terlihat dalam contoh di bawah ini, Anda mungkin melihat bahwa hanya ada satu entri untuk setiap database.
DROP TABLE IF EXISTS #h
CREATE TABLE #h(configuration_id INT, name sysname, value SQL_VARIANT, value_for_secondary SQL_VARIANT)
INSERT INTO #h(configuration_id, name, value,value_for_secondary)
SELECT * FROM sys.database_scoped_configurations D'
SELECT * FROM #h H
atau
DECLARE @database_scoped_configurations TABLE(x INT);
INSERT INTO @database_scoped_configurations
SELECT configuration_id
FROM sys.database_scoped_configurations;
SELECT * FROM @database_scoped_configurations
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Tentang pembaruan kumulatif untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Penyelesaian Masalah
Untuk mengatasi masalah ini, Anda bisa menambahkan klausul teratas pada bagian pilih dari sisipkan Anda untuk mendapatkan hasil yang benar. Berikut ini adalah contoh:
DECLARE @database_scoped_configurations TABLE(x INT);
INSERT INTO @database_scoped_configurations
SELECT TOP 100 configuration_id
FROM sys.database_scoped_configurations
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.