トレースフラグとオフにする必要がある理由と理由


8

SQLサーバーには非常に多くのトレースフラグがあります。それらのいくつかをオフにする必要がある理由。トレースフラグ8017をオフにする必要があることを確認した場所もあります。それで、どのトレースフラグをオフにする必要があるのか​​、なぜ知りたいのですか?

回答:


7

実装する必要がある理由がわかるまで、すべてをオフにする必要があります。ここで、いくつかのトレースフラグがオンになっているサーバーを継承する場合、それらが存在する理由がわからなければ、単にオフにしないでください。

新しいサーバーでは、まずナレッジ、次にトレースフラグをオンにします。古いサーバーでは、知識をそのままにして、決定を下します。


10

データベースアップグレードアドバイザーは、アップグレードプロセス中にトレースフラグ8017をオフにして、後で再度有効にする必要があることを報告できます。

トレースフラグ8017は、SQL Serverが(アフィニティマスクに従って)使用できないSQLプロセッサを含むすべての論理プロセッサのスケジューラを作成するかどうかを制御します。

フラグを有効にしても、これらの「オフライン」スケジューラーは作成されず、いくつかのリソースが節約されます。また、アフィニティマスクを変更してSQL Serverのプロセッサを動的に追加することはできません。アフィニティマスクを変更してから、インスタンスを再起動する必要があります。

トレースフラグが存在する理由がわからない場合は、削除しないでください。いつ、なぜ追加されたのか、また誰が追加したのかを説明するドキュメントが組織のどこかにあるはずです。そうでない場合は、修正する必要があるプロセスがあります:)


2
2008 Expressテストデータベースでは、インストール後にデフォルトで有効になっています。
エケス2017年

ええ、私のものもデフォルトであるだけです(AFAICT)。明示的に追加したことがないのになぜ存在するのかを説明しているドキュメントはどこにありますか?
binki

2

RaadeePaul Whiteにさらに追加するために(eckesのコメントがすでに述べられていることも確認)、TF 8017は、2005年以降のすべての SQL Server Express Editionバージョンでデフォルトで有効になっています。おそらく、CPU(ソケットコア)の数を抑制する方法です)SQL Serverエディションではサポートされていません。

テスト済み:

  • SQL Server 2014 Express Edition、1および2ソケット、トレースフラグがオン
  • SQL Server 2016 Express Edition、1ソケット、トレースフラグがオン
  • SQL Server 2016 Standard Edition、トレースフラグはオフです

CPUの制限については、さまざまなMicrosoftドキュメントで説明されています。たとえば、SQL ServerのエディションごとのCompute容量の制限などです。

サードパーティのリソースでは、TF 8017Steinar Andersonのトレースフラグリストに記載されています。このリストには、この質問へのリンクがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.