パフォーマンスの監視とチューニングMonitor and Tune for Performance

適用対象: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

データベースを監視する目的は、サーバーのパフォーマンスを評価することです。The goal of monitoring databases is to assess how a server is performing. 適切な監視には、現在のパフォーマンスのスナップショットを定期的にキャプチャして問題の原因となっているプロセスを特定したり、長期にわたって継続的にデータを採取してパフォーマンスの傾向を追跡する作業が必要です。Effective monitoring involves taking periodic snapshots of current performance to isolate processes that are causing problems, and gathering data continuously over time to track performance trends.

データベース パフォーマンスの継続的な評価は、応答時間を最小限にし、スループットを最大限にして、最適なパフォーマンスを実現するために役立ちます。Ongoing evaluation of the database performance helps you minimize response times and maximize throughput, yielding optimal performance. パフォーマンスを最大限に高めるには、効率的なネットワーク トラフィック、ディスク I/O、および CPU 使用が重要です。Efficient network traffic, disk I/O, and CPU usage are key to peak performance. アプリケーションの要件を十分に分析し、データの論理構造と物理構造を理解し、データベースの使用状況を評価し、競合する処理 (オンライン トランザクション処理 (OLTP) と意思決定支援など) の関係を調整する必要があります。You need to thoroughly analyze the application requirements, understand the logical and physical structure of the data, assess database usage, and negotiate tradeoffs between conflicting uses such as online transaction processing (OLTP) versus decision support.

パフォーマンスのためのデータベースの監視とチューニングMonitoring and tuning databases for performance

Microsoft SQL ServerSQL Server および Microsoft Windows オペレーティング システムでは、データベースの現在の状態を参照したり、状態の変化に伴うパフォーマンスを追跡するためのユーティリティが用意されています。Microsoft SQL ServerSQL Server and the Microsoft Windows operating system provide utilities to view the current condition of the database and track performance as conditions change. さまざまなツールや技法を使用して MicrosoftMicrosoft SQL ServerSQL Server を監視できます。There are a variety of tools and techniques you can use to monitor MicrosoftMicrosoft SQL ServerSQL Server. SQL ServerSQL Server の監視は、次のことに役立ちます。Monitoring SQL ServerSQL Server helps you:

  • パフォーマンスを向上できるかどうかの判断。Determine whether you can improve performance. たとえば、頻繁に使用するクエリの応答時間を監視することで、テーブルに対するクエリまたはインデックスの変更が必要かどうかを判断できます。For example, by monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables are required.

  • ユーザーの利用状況の評価。Evaluate user activity. たとえば、 SQL ServerSQL Serverのインスタンスに接続しようとするユーザーを監視することで、セキュリティが適切に設定されているかどうかを判断し、アプリケーションや開発システムをテストできます。For example, by monitoring users trying to connect to an instance of SQL ServerSQL Server, you can determine whether security is set up adequately and test applications or development systems. また、実行時に SQL クエリを監視することで、クエリが正しく作成され、期待どおりの結果が得られているかどうかを判断できます。For example, by monitoring SQL queries as they are executed, you can determine whether they are written correctly and producing the expected results.

  • 問題のトラブルシューティングや、ストアド プロシージャなどのアプリケーション コンポーネントのデバッグ。Troubleshoot problems or debug application components, such as stored procedures.

動的な環境での監視Monitoring in a dynamic environment

条件を変更すると、パフォーマンスが変化します。Changing conditions result in changing performance. 評価では、ユーザー数の増加によるパフォーマンスの変化、ユーザーのアクセス方法と接続方法の変化、データベース コンテンツの増加、クライアント アプリケーションの変化、アプリケーション内のデータの変化、クエリの複雑化、およびネットワーク トラフィックの増加を確認できます。In your evaluations, you can see performance changes as the number of users increases, user access and connection methods change, database contents grow, client applications change, data in the applications changes, queries become more complex, and network traffic rises. ツールを使用してパフォーマンスを監視することにより、パフォーマンスの変化を、変化する条件と複雑なクエリに関連付けることができます。Using tools to monitor performance helps you associate changes in performance with changing conditions and complex queries. 例:Examples:

  • 頻繁に使用されるクエリの応答時間を監視することによって、クエリを実行するテーブルに対するクエリまたはインデックスの変更が必要かどうかを判断できます。By monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables where the queries execute are required.

  • 実行時に Transact-SQLTransact-SQL クエリを監視することによって、クエリが正しく作成され、期待どおりの結果が得られているかどうかを判断できます。By monitoring Transact-SQLTransact-SQL queries as they are executed, you can determine whether the queries are written correctly and producing the expected results.

  • SQL ServerSQL Serverのインスタンスに接続しようとするユーザーを監視することによって、セキュリティが適切に設定されているかどうかを判断でき、アプリケーションまたは開発システムをテストできます。By monitoring users that try to connect to an instance of SQL ServerSQL Server, you can determine whether security is set up adequately and test applications or development systems.

応答時間は、クエリが処理されていることを視覚的に確認できる形式で、結果セットの先頭行をユーザーに返すのに必要な時間の長さです。Response time is the length of time required for the first row of the result set to be returned to the user in the form of visual confirmation that a query is being processed. スループットは、指定した時間内にサーバーで処理されたクエリの合計数です。Throughput is the total number of queries handled by the server during a specified period of time.

ユーザーの数が増えるにつれて、サーバーのリソースの競合も増えます。その結果、応答時間が長くなり、全般的なスループットが減少します。As the number of users increases, so does the competition for a server's resources, which in turn increases response time and decreases overall throughput.

監視とパフォーマンス チューニングのタスクMonitoring and performance tuning tasks

トピックTopic タスクTask
SQL Server コンポーネントの監視Monitor SQL Server Components 利用状況モニター、拡張イベント、および動的管理ビューと関数など、SQL Server コンポーネントを監視するために必要な手順です。Required steps to monitor any SQL Server component, such as Activity Monitor, Extended Events, and Dynamic Management Views and Functions, etc.
パフォーマンス監視およびチューニング ツールPerformance Monitoring and Tuning Tools ライブ クエリ統計、データベース エンジン チューニング アドバイザーなど、SQL Server で使用可能な監視およびチューニング ツールの一覧を示します。Lists the monitoring and tuning tools available with SQL Server, such as Live Query Statistics, and the Database Engine Tuning Advisor.
クエリ調整アシスタントを使用したデータベースのアップグレードUpgrading Databases by using the Query Tuning Assistant 新しいデータベース互換性レベルにアップグレードする間に、ワークロードのパフォーマンスの安定を維持します。Keep workload performance stability during the upgrade to newer database compatibility level.
クエリ ストアを使用したパフォーマンスの監視Monitoring Performance by Using the Query Store クエリ ストアを使用して、自動的にクエリ、プラン、および実行時統計の履歴をキャプチャし、確認用に保持します。Use Query Store to automatically capture a history of queries, plans, and runtime statistics, and retain these for your review.
パフォーマンスのベースラインの設定Establish a Performance Baseline パフォーマンスのベースラインの設定方法。How to establish a performance baseline.
パフォーマンスの問題の特定Isolate Performance Problems データベースのパフォーマンスの問題を特定します。Isolate database performance problems.
ボトルネックの特定Identify Bottlenecks ボトルネックを特定するために、サーバーのパフォーマンスを監視および追跡します。Monitor and track server performance to identify bottlenecks.
DMV を使用してビューの使用統計とパフォーマンスを確認するUse DMVs to Determine Usage Statistics and Performance of Views クエリのパフォーマンスに関する情報を取得するために使用する方法とスクリプトについて説明します。Covers methodology and scripts used to get information about the performance of queries.
サーバーのパフォーマンスと利用状況の監視Server Performance and Activity Monitoring SQL ServerSQL Server と、Windows のパフォーマンスと利用状況の監視ツールを使用します。Use SQL ServerSQL Server and Windows performance and activity monitoring tools.
リソースの使用状況の監視Monitor Resource Usage システム モニター (perfmon とも呼ばれます) を使用して、パフォーマンス カウンターで SQL ServerSQL Server のパフォーマンスを測定します。Using System Monitor (also known as perfmon) to measure the performance of SQL ServerSQL Server using performance counters.

参照See also

エンタープライズ全体の管理の自動化 Automated Administration Across an Enterprise
実行プランの比較と分析 Compare and Analyze Execution Plans
実行プランの表示と保存Display and Save Execution Plans