1

SQL プロファイラーを実行してデータベース Sql Server 2008 のパフォーマンスを確認したいのですが、同じマシンでプロファイラーを実行するとサーバーのパフォーマンスに影響するのではないかと心配しており、サーバーの速度を落としたくありません。 .

ずっと前に、サーバーのパフォーマンスに影響を与えないように、SQL サーバーに接続されたラップトップからプロファイラーを実行する DBA から聞いたことがあります。

基本的に私の質問は、SQL サーバーのパフォーマンスを低下させることなく、外部コンピューターから SQL プロファイラーを実行する方法です。

4

5 に答える 5

5

プロファイリングされるデータベースは、プロファイリングを可能にするために作業を行う必要があります。これを回避する方法はありません。一般的に言えば、システムの観察は常にそのシステムに負荷を引き起こします。ただし、SQL Server プロファイラーやその他の同様のツールも、ターゲット データベースの外部で追加の作業を行い、この追加の作業を別のコンピューターにオフロードできます。

できることをオフロードするには、データベース サーバーではない任意のマシンから SQL Server プロファイルを実行するだけです。New Trace を開始するときは、データベースが実行されているサーバーのデータベースに接続するように指示します。それだけです。ターゲット データベースには追加の負荷 (避けられない) が発生ますが、Profiler を実行するマシンにできるだけ多くの作業をオフロードします。

于 2016-09-06T18:30:01.167 に答える
3

外部コンピューターからコンピューターに接続できる場合は、プロファイラーをリモートで実行しても問題はありません..

基本的に私の質問は、SQLサーバーのパフォーマンスを低下させることなく、外部コンピューターからSQLプロファイラーを実行する方法ですか?

プロファイラーを長時間実行すると、メモリ内のすべてのイベントを追跡し、破棄する前にログに記録する必要があるため、パフォーマンスに影響します..したがって、プロファイラーを長時間実行することはお勧めしません..

SQL2008 以降の拡張イベント (プロファイラーに比べて非常に軽量) を使用して、プロファイラーと同様のイベントを追跡することもできます。

http://www.sqlteam.com/article/introduction-to-sql-server-2008-extended-events

于 2016-09-06T18:29:08.747 に答える
2

私は DBA ですが、サーバー自体で SQL Server プロファイラーを実行することによるパフォーマンスの問題は認識していません。つまり、SQL Server Profiler を実行すると、使用するサーバーを選択できる SSMS と同じように読み込まれます。

SQL リソースを殺すほど長時間実行されているクエリがある場合、はい、まったく実行してもリソースを使い果たしますが、プロファイラーのソースがどこにあるかは関係ありません。

SS Profiler のスクリーンショットを見る ここに画像の説明を入力

SQL Server インスタンスのパフォーマンスが心配な場合は、ピーク時に本番環境でプロファイラーを実行しないでください。

于 2016-09-06T18:27:14.343 に答える
2

Profiler は、適切な権限とアクセス権を持つ任意のコンピューターから開始できますが、常に実際の SQL Server インスタンスで実行されます。これを回避する方法はありません。ログに記録される操作を最小限に抑え、特定のユーザーによってフィルター処理して、パフォーマンスの問題を軽減することができますが、それだけです。

問題の DBA がサーバー側のトレースを実行した可能性があります。これは影響が少ない可能性がありますが、該当するインスタンスで開始されます。

于 2016-09-06T18:29:18.433 に答える