[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

-[[戻る>SQL Server]]

* 目次 [#v18ee228]
#contents

*概要 [#r47a15be]
SQL Serverにおいて、
-[[SQL Server 大量データ処理時の性能問題]]
-[[SQL Server でのロック・タイムアウト]]

等の問題発生時の一般的な問題分析方法について説明します。

*ツール [#l2cfd1df]
**Management Studio [#b49b7446]

***クエリ・アナライザ → クエリ・エディタ [#ic07a23c]
-クエリの実行とデバッグが可能
-また、クエリプランの確認も可能。

***SQLプロファイラ(SQLトレース) [#bed21543]
[[SQL Server でのロック・タイムアウト]]の[[SQLトレースを使用して確認>SQL Server でのロック・タイムアウト#c295bf32]]でも説明していますが、~
SQLトレースを取得・確認し問題(遅い処理が何処か?)を特定できる可能性もあります。

-起動時の-T オプションでトレースフラグを設定。
-DBCC TRACESTATUSで確認可能。

***システムテーブル/動的管理ビュー [#ld604943]
SQL Server 2005から動的管理ビューと言うものも導入されています。~
パフォーマンス・カウンタより詳細な情報を収集できます。

-連載:Dr. K's SQL Serverチューニング研修 Part II (2)~
チューニングに大変革をもたらす動的管理ビュー~
http://www.atmarkit.co.jp/fdb/rensai/drk2_02/drk2_02_1.html~
http://www.atmarkit.co.jp/fdb/rensai/drk2_02/drk2_02_2.html

-真・Dr. K's SQL Serverチューニング研修(4)~
DB管理者がいますぐ確認すべき3つの設定 (3/3) - @IT~
http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk03.html~
--押さえておきたい4つの動的管理ビュー

***インデックスチューニングウィザード → データベース・エンジン・チューニング・アドバイザ [#b2d9fa8c]

***レポート(各種 標準レポート、Performance Dashboard Reports) [#t62eedcf]

*ログ [#acec1183]
**エラーログやイベントログ [#jdbdecf2]
はじめにエラーログやイベントログを確認ください~
(Windowsのものだけでなく、SQL Serverのログも)。

-[SQL Troubleshooting] 第1回 : Tips - SQL Server エラーログとイベント ログを採取する (SQL 2000 ~ 2008 R2)~
http://blogs.msdn.com/b/jpsql/archive/2012/03/27/info-sql-server-sql-server-error-log-and-event-log.aspx

**SQLトレースログ [#d792e5a7]
SQLトレースをログ出力する。

**パフォーマンスログ [#id8e8d35]
SQLトレースログに加えて、

パフォーマンスカウンタを選択、パフォーマンスログを取得し~
問題(ソース消費量が多い処理は何処か?)を特定できる可能性もあります。

*事象別の分析方法 [#a4f1b827]
**長時間実行クエリ、ストアド情報 [#df4c3615]
***sys.dm_exec_query_stats、_sql_text動的管理ビュー [#v04a8314]
T-SQLファイルを作成し実行する(スケジューラでsqlcmdから実行する等)。

**ブロッキング情報 [#zaecafdd]
***sys.dm_exec_request動的管理ビュー [#b7ddd0be]
T-SQLファイルを作成し実行する(スケジューラでsqlcmdから実行する等)。

***sp_blocker_pss80ストアド [#obc8f49b]
T-SQLファイルを作成し実行する(スケジューラでsqlcmdから実行する等)。

-参考
--SQL Server 2005 および SQL Server 2000 のブロッキングを監視する方法~
http://support.microsoft.com/kb/271509/ja

***トレースのblocked process reportイベント [#j24b2863]
T-SQLファイルを作成し実行する(sqlcmdから実行する等)。

*構成情報の分析方法 [#sc4ae627]
**スケジューラ情報 [#jb435162]
***sys.dm_os_schedulersビュー [#f21fb277]
T-SQLファイルを作成し実行する(スケジューラでsqlcmdから実行する等)。

**データベース・ミラーリング [#o8a76f2d]
いずれも、T-SQLファイルを作成し実行する(スケジューラでsqlcmdから実行する等)。

***sys.database_mirroring_endpoin、_connectionsカタログビュー [#of09c67d]
エンドポイントとコネクション情報

***sys.database_mirroringカタログビュー [#lc7c4049]
プリンシパルとミラー情報

***sys.database_mirroring_witnessesカタログビュー [#d35493cc]
監視サーバ情報

**[[MS-DTC]] [#cbbf0db4]
***[[MS-DTC]]トレース [#k51d2ac9]
GUIとレジストリから設定。

***CommunicationManagerエラー・トレース [#r837e687]
レジストリから設定。

*定数設定 [#pafd1fcb]
定数設定による環境差異の可能性がある場合は、↓の主要定数一覧を参考にして下さい。

-真・Dr. K's SQL Serverチューニング研修(4)~
DB管理者がいますぐ確認すべき3つの設定 - @IT

--DB管理者がいますぐ確認すべき3つの設定~
http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk01.html~
http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk02.html
---その1:tempdbの数をCPUコア数にあわせよ
---その2:x64環境なら「メモリ内のページロック指定」を変えよ
---その3:OLTPでは、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ

*参考 [#y028a649]
-[SQL Troubleshooting] SQL Server トラブルシューティング 6 回シリーズのご案内~
Microsoft SQL Server Japan Support Team Blog - Site Home - MSDN Blogs~
http://blogs.msdn.com/b/jpsql/archive/2012/03/30/sql-server-6.aspx

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS