現象
たとえば次のようなシナリオを考えてみます。
- tempdb データベースを頻繁に使用するアプリケーションがある場合、または特定の tempdb データベース ワークロードがある場合。
- Microsoft SQL Server 2016 以降のバージョンにアップグレードし、PFS ページの競合の表示を開始します。
- tempdb データベースの ベスト プラクティス に従い、いくつかのデータ ファイルを追加します。
このシナリオでは、PFS ページの競合が引き続き発生し、システム のパフォーマンスに影響します。
メモ ページのマップが 8088 で簡単に分割される場合は、PFS ページです。 たとえば、2:3:905856 ページは tempdb の file_id=3 の PFS です。
解決策
累積的な更新情報
この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。
SQL Server 2017 の累積的な更新プログラム 7
SQL Server 2016 SP2 の累積的な更新プログラム 1
SQL Server 2016 SP1 の累積的な更新プログラム 9
SQL Serverの累積的な更新プログラムについて:
SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。
SQL Server 2017 の最新の累積的な更新プログラム
SQL Server 2016 の最新の累積的な更新プログラム
この問題は、次の記事に記載されている修正プログラムで修正されています。
SQL Server 2016 SP1 のオンデマンド修正プログラム更新プログラム パッケージを4099490する
この修正により、すべての tempdb データ ファイルに対するラウンド ロビン割り当てに加えて、同じデータ ファイル内の複数の PFS ページでラウンド ロビン割り当てを実行することで、PFS ページの割り当てが向上します。 そのため、データ ファイルに含まれる PFS データ ページが多いほど、データ ファイルが多いほど、割り当ての分散が向上します。
メモ 現在、データは tempdb データベース ファイル内の PFS 間隔に分散されるため、 データベースの圧縮 などの操作はリソースを集中的に消費するようになります。 ただし、通常、一般的な操作の過程で tempdb を圧縮することはお勧めしません。
SQL Serverの Service Pack 情報:
この更新プログラムは、SQL Serverの次の Service Pack で修正されています。
SQL Server 2014 用 Service Pack 3
SQL Serverのサービス パックについて:
Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 このサービス パックの最新の Service Pack と最新の累積的な更新プログラムを適用することをお勧めします。 最新の Service Pack をインストールする前に、以前の Service Pack をインストールする必要はありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の記事の表 1 を参照してください。
SQL Serverとそのコンポーネントのバージョン、エディション、および更新レベルを決定する方法
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料