Simptome
Atunci când desfășurați o interogare care inserează ieșirea din sys.database_scoped_configurations la o variabilă de tabel sau la un tabel temporar din Microsoft SQL Server 2016, apoi selectați din acea variabilă de tabel sau temporară tabel așa cum se vede în exemplul de mai jos, este posibil să observați că există o singură intrare pentru fiecare bază de date.
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
sau
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
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarea actualizare cumulativă pentru SQL Server:
Despre actualizările cumulative pentru SQL Server:
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Soluție de evitare
Pentru a rezolva această problemă, puteți să adăugați o clauză de TOP în partea de selectare a insertului pentru a obține rezultatul corect. Iată un exemplu:
DECLARE @database_scoped_configurations TABLE(x INT);
INSERT INTO @database_scoped_configurations
SELECT TOP 100 configuration_id
FROM sys.database_scoped_configurations
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.