Síntomas
Cuando ejecuta una consulta que inserta el resultado de sys.database_scoped_configurations a una variable de tabla o a una tabla temporal en Microsoft SQL Server 2016 y, a continuación, seleccione de la variable de tabla o temporal tabla tal y como se muestra en el ejemplo siguiente, es posible que observe que solo hay una entrada para cada base de datos.
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
o
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
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Resolución
Este problema se ha corregido en la siguiente actualización acumulativa de SQL Server:
Acerca de las actualizaciones acumulativas de SQL Server:
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para evitar este problema, puede Agregar una cláusula TOP a la parte seleccionada de la inserción para obtener el resultado correcto. Este es un ejemplo:
DECLARE @database_scoped_configurations TABLE(x INT);
INSERT INTO @database_scoped_configurations
SELECT TOP 100 configuration_id
FROM sys.database_scoped_configurations
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.