z
「[[マイクロソフト系技術情報 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]

**[[実行プランのグラフィカル表示]] [#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]], [[:障害対応]], [[:性能]], [[:デバッグ]], [[:ツール類]]


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