症状
运行将 sys.database_scoped_configurations 的输出插入到 Microsoft SQL Server 2016 中的表变量或临时表,然后从该表变量或临时表中进行选择的查询时,如下面的示例所示,可能会注意到每个数据库只有一个条目。
如果存在,则删除表 #h
CREATE TABLE #h (configuration_id INT, name sysname, value SQL_VARIANT, value_for_secondary SQL_VARIANT)
INSERT INTO #h (configuration_id、名称、值、value_for_secondary)
SELECT * FROM sys.database_scoped_configurations D'
SELECT * FROM #h H
或者
DECLARE @database\_scoped\_configurations TABLE (x INT) ;
INSERT INTO @database\_scoped\_configurations
选择configuration_id
FROM sys.database_scoped_configurations;
SELECT * FROM @database\_scoped\_configurations
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
解决方法
此问题已在 SQL Server 的累积更新中进行了修复:
关于 SQL Server 的累积更新:
SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要解决此问题,您可以在插入的 SELECT 部分添加 TOP 子句以获得正确的结果。 此处为一个示例:
DECLARE @database_scoped_configurations TABLE (x INT) ;
INSERT INTO @database_scoped_configurations
SELECT TOP 100 configuration_id
FROM sys.database_scoped_configurations
参考资料
了解 Microsoft 用于描述软件更新的术语。