- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>SQL Server]]
* 目次 [#v18ee228]
#contents
*概要 [#r47a15be]
SQL Serverにおいて、
-[[SQL Server 大量データ処理時の性能問題]]
-[[SQL Server でのロック・タイムアウト]]
等の問題発生時の一般的な問題分析方法について説明します。
*ツール [#l2cfd1df]
**Management Studio [#b49b7446]
***クエリ・アナライザ → クエリ・エディタ [#ic07a23c]
-クエリの実行とデバッグが可能
-また、クエリプラン(実行プラン)の確認も可能。
**[[実行プランのグラフィカル表示]] [#ic07a23c]
***[[SQLプロファイラ(SQLトレース)]] [#bed21543]
**[[SQLプロファイラ(SQLトレース)]] [#bed21543]
***システムテーブル/動的管理ビュー [#ld604943]
SQL Server 2005から動的管理ビューと言うものも導入されています。~
パフォーマンス・カウンタより詳細な情報を収集できます。
**T-SQLステートメント / システムテーブル [#m8a6ad10]
様々なT-SQLステートメント / システムテーブルが用意されている。
-真・Dr. K's SQL Serverチューニング研修(4)~
DB管理者がいますぐ確認すべき3つの設定 (3/3) - @IT~
http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk03.html~
--押さえておきたい4つの動的管理ビュー
-連載: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
***インデックスチューニングウィザード → データベース・エンジン・チューニング・アドバイザ [#b2d9fa8c]
**インデックスチューニングウィザード → データベース・エンジン・チューニング・アドバイザ [#b2d9fa8c]
-データベース エンジン チューニング アドバイザの概要~
https://technet.microsoft.com/ja-jp/library/ms173494.aspx
-データベース エンジン チューニング アドバイザーの起動および使用~
https://msdn.microsoft.com/ja-jp/library/ms174202.aspx
--データベース エンジン チューニング アドバイザーの初期化
--データベース エンジン チューニング アドバイザーを起動する
--ワークロードを作成する
--データベースのチューニング
--XML 入力ファイルの作成
--ユーザー インターフェイスの説明
-チュートリアル:データベース エンジン チューニング アドバイザー~
https://msdn.microsoft.com/ja-jp/library/ms166575.aspx
***レポート(各種 標準レポート、Performance Dashboard Reports) [#t62eedcf]
**利用状況モニタ、動的管理ビュー(DMV)、クエリストア [#kfd16e0e]
利用状況モニタ:SQL Server 2000の頃から存在。
-動的管理ビュー(DMV):SQL Server 2005から導入。
-[[クエリストア>SQL Server のログ#rcafcba1]]:SQL server 2016から導入。
*ログ [#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 server】利用状況モニターの情報取得について - 小物SEのメモ帳~
https://memorandom-nishi.hatenablog.jp/entry/2016/09/22/195916
**[[SQLトレースログ>SQLプロファイラ(SQLトレース)]] [#d792e5a7]
[[SQLトレース>SQLプロファイラ(SQLトレース)]]をログ出力する。
--真・Dr. K's SQL Serverチューニング研修(4)~
DB管理者がいますぐ確認すべき3つの設定 (3/3) - @IT~
http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk03.html~
---押さえておきたい4つの動的管理ビュー
**パフォーマンスログ [#id8e8d35]
SQLトレースログに加えて、
--連載: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
パフォーマンスカウンタを選択、パフォーマンスログを取得し~
問題(ソース消費量が多い処理は何処か?)を特定できる可能性もあります。
**各種レポート(各種 標準レポート、Performance Dashboard Reports) [#t62eedcf]
**[[各種ログ(SQLトレース、エラー ログ、クエリストア、パフォーマンス ログ)>SQL Server のログ]] [#acec1183]
*事象別の分析方法 [#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]
レジストリから設定。
*参考 [#y028a649]
-SQL Server Management Studio による監視~
https://technet.microsoft.com/ja-jp/library/ms191199.aspx
>SQL Server の現在の利用状況に関する情報を表示(利用状況モニター、標準レポート)
-Transact-SQL ステートメントによる監視~
https://technet.microsoft.com/ja-jp/library/ms191147.aspx
> Transact-SQL ステートメントとシステム ストアド プロシージャを使用。
**[[インシデント>SQL Server#i20a1481]] [#i55f8598]
**Support Team Blog [#z6c0deb5]
-[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
--第1回 SQL Server のログ、イベントログの確認方法
--第2回 パフォーマンスログの採取方法
--第3回 パフォーマンスログの確認方法
--第4回 サーバートレースの解析方法 1
--第5回 サーバートレースの解析方法 2
--第6回 ブロッキング情報の確認方法
----
Tags: [[:データアクセス]], [[:SQL Server]], [[:障害対応]], [[:性能]], [[:デバッグ]]
Tags: [[:データアクセス]], [[:SQL Server]], [[:障害対応]], [[:性能]], [[:デバッグ]], [[:ツール類]]