適用先
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)

現象

出力を挿入するクエリを実行した場合 Microsoft SQL Server 2016 でテーブル変数または一時テーブルに sys.database_scoped_configurations し、そのテーブル変数または一時的なテーブルを選択します。 次の例に示すように、各データベースには1つのエントリしか存在しないことがわかります。

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

または

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

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

解決方法

この問題は、SQL Server の次の累積的な更新プログラムで修正されています。

SQL Server の累積更新プログラムについて:

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。

回避策

この問題を回避するには、insert の SELECT 部分に TOP 句を追加して、正しい結果を得ることができます。 次に例を示します。

DECLARE @database_scoped_configurations TABLE(x INT);

INSERT INTO @database_scoped_configurations

SELECT TOP 100 configuration_id

FROM sys.database_scoped_configurations

参照情報

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。