「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>SQL Server#i20a1481]] -[[戻る>SQL Server#i20a1481]] > SQL Server 問題の分析方法 --[[障害>SQL Server#va76dbd2]] ---SQL Server の障害復旧 ---[[SQL Server の障害復旧]] --[[性能>SQL Server#fb124d93]] ---[[DBMSのロック・分離戦略と同時実行制御]] ---[[SQL Server でのロック・タイムアウト]] ---[[SQL Server のロックのエスカレーション]] ---[[SQL Server でのデッドロック]] ---[[SQL Server 大量データ処理時の性能問題]] ---[[SQL Server アドホック クエリ問題の監視]] ---[[SQL Server 結合方式の問題を監視する]] * 目次 [#v18ee228] #contents *概要 [#r47a15be] SQL Serverにおいて、 -[[SQL Server 大量データ処理時の性能問題]] -[[SQL Server でのロック・タイムアウト]] 等の問題発生時の一般的な問題分析方法について説明します。 *ツール [#l2cfd1df] **[[実行プランのグラフィカル表示]] [#ic07a23c] **[[SQLプロファイラ(SQLトレース)]] [#bed21543] **T-SQLステートメント / システムテーブル [#m8a6ad10] 様々なT-SQLステートメント / システムテーブルが用意されている。 **インデックスチューニングウィザード → データベース・エンジン・チューニング・アドバイザ [#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 **利用状況モニタ、動的管理ビュー(DMV)、クエリストア [#kfd16e0e] 利用状況モニタ:SQL Server 2000の頃から存在。 -動的管理ビュー(DMV):SQL Server 2005から導入。 -[[クエリストア>SQL Server のログ#rcafcba1]]:SQL server 2016から導入。 -参考 --【SQL server】利用状況モニターの情報取得について - 小物SEのメモ帳~ https://memorandom-nishi.hatenablog.jp/entry/2016/09/22/195916 --真・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 **各種レポート(各種 標準レポート、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]], [[:障害対応]], [[:性能]], [[:デバッグ]], [[:ツール類]]