KB4522126 - CORREÇÃO: pode receber resultados incorretos quando consulta sys.database_scoped_configurations no SQL Server 2016

Aplica-se A
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)

Sintomas

Quando executa uma consulta que insere os resultados do sys.database_scoped_configurations numa tabela, variável ou tabela temporária no Microsoft SQL Server 2016 e, em seguida, seleciona a partir dessa tabela, variável ou tabela temporária, como mostrado no exemplo abaixo, poderá reparar que existe apenas uma entrada para cada base de dados.

TABELA SUSPENSA, SE EXISTIR #h

CREATE TABLE #h(configuration_id INT, nome, nome, valor, SQL_VARIANT, value_for_secondary SQL_VARIANT)

INSERT INTO #h(configuration_id, nome, valor, value_for_secondary)

SELECIONE * DE sys.database_scoped_configurations D'

SELECIONE * DE #h H

ou

DECLARAR @database\_scoped\_configurations TABELA(x INT);

INSERIR EM @database\_scoped\_configurations

SELECIONE configuration_id

DE sys.database_scoped_configurations;

SELECIONE * DE @database\_scoped\_configurations

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Resolução

Este problema foi corrigido na seguinte atualização cumulativa para SQL Server:

Acerca das atualizações cumulativas para SQL Server:

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Solução

Para contornar este problema, pode adicionar uma cláusula TOP na parte SELECT da sua inserção para obter o resultado correto. Eis um exemplo:

DECLARAR @database_scoped_configurations TABELA(x INT);

INSERIR NO @database_scoped_configurations

SELECIONAR TOP 100 configuration_id

DE sys.database_scoped_configurations

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.