Příznaky
Když spustíte dotaz, který vkládá výstup sys.database_scoped_configurations do proměnné tabulky nebo dočasné tabulky v Microsoft SQL serveru 2016 a pak vyberte z této tabulky nebo dočasné tabulka, jak vidíte v příkladu níže, může dojít k tomu, že pro každou databázi existuje pouze jedna položka.
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
nebo
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
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Tento problém je opravený v následující kumulativní aktualizaci SQL serveru:
O kumulativních aktualizacích pro SQL Server:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace SQL serveru:
Alternativní řešení
Tento problém vyřešíte tak, že přidáte klauzuli TOP na vybrané části vložení a získáte správný výsledek. Tady je příklad:
DECLARE @database_scoped_configurations TABLE(x INT);
INSERT INTO @database_scoped_configurations
SELECT TOP 100 configuration_id
FROM sys.database_scoped_configurations
Odkazy
Informace o terminologii používané společností Microsoft k popisu aktualizací softwaru.