Presentation is loading. Please wait.

Presentation is loading. Please wait.

SAP システムにおける SQL Server 運用ノウハウ

Similar presentations


Presentation on theme: "SAP システムにおける SQL Server 運用ノウハウ"— Presentation transcript:

1 SAP システムにおける SQL Server 運用ノウハウ
マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター

2 Agenda 統計情報の保守 インデックスの保守 ストアドプロシージャの保守 整合性チェックの実行 ブロッキング・デッドロック

3 1.統計情報 データの分布状況を示します クエリ実行にあたってのアクセスパス選択に 大きく影響します
データの変更が重なるに従い、統計情報は 最新ではなくなり、クエリ実行にあたっての オプティマイザの判断が最適でなくなります

4 統計情報の保守 統計情報自動更新のオプションについては、通常以下の設定を推奨しています master: OFF
msdb, tempdb, <SID> : ON 但し VBHDR, VBDATA, VBMOD テーブルは OFF (SAP Note )

5 自動更新が起動する為の テーブルへの変更回数
統計情報の保守 統計情報の自動更新が起動するタイミングは、 以下の通りです(Microsoft KB ) タイミングを事前に知る方法も記載してあります テーブル種別 自動更新が起動する為の テーブルへの変更回数 6行未満の 一時テーブル 6回 6行以上、 500行未満 500回 500行以上 (500+行数の20%)回

6 統計情報の保守 安定したパフォーマンスを得る為に、統計情報の 手動での更新も行なって下さい
大量データの変更後に必ず実行するのが理想的です もしくは1週~1ヶ月に1回定期的に更新するよう、通常の SAP のお客様に対してガイドしております デフォルトでは SQL Server が適切なサンプリング割合を判断します より正確な統計情報を得てパフォーマンス問題を 解決するには、サンプリング割合を指定して下さい 更新時間は長くなりますが Fullscan(100%)が堅いです

7 セカンダリとしての非クラスタ化インデックス
2.インデックス SQL Server ベースの SAP システムには、 クラスタ化インデックスが必ず構成されています 非クラスタ化インデックスは、セカンダリインデックス として構成されています 追加・削除が重なる度に断片化が進行していきます クラスタ化インデックス セカンダリとしての非クラスタ化インデックス

8 インデックスの保守 インデックス再構築に先立って、その必要性を判断する為に、”DBCC SHOWCONTIG” を実行して、インデックスの断片化の状況を分析して下さい “fast” オプションという簡易オプションを利用 すれば、この作業をすばやく済ませる事が できます

9 インデックスの保守 スキャン密度が低い or フラグメンテーションが大きい or ページ数が大きい or アプリケーションの使用頻度が高いテーブル (下記基準参照)に対して、 “DBCC INDEXDEFRAG”を実行して下さい システムを停止する必要はありません 基準(例) 論理スキャンフラグメンテーションが15%以上かつ、スキャンされたページ数が100ページ以上

10 インデックスの保守 この“SHOWCONTIG” チェックを省略して、全てのインデックスを(例えば)1~2週間にわたって毎日分割して実行していくような 運用も、考慮に値します オンラインで再編成出来るからこそ可能な運用

11 3.ストアドプロシージャ SQL Server ベースの SAP システムにおいて、 クエリはストアドプロシージャとしてデータベース上に展開されます このストアドプロシージャは、その初回実行時に 最適な実行プランを決定し、その後リコンパイル されるまで、同じ実行プランを利用し続けます SAP on SQL Server パフォーマンス上のアドバンテージ ただし、この事が逆にパフォーマンスを不安定に するケースもごく稀に存在しますので注意して下さい (SAP Note )

12 ストアドプロシージャの保守 ストアドプロシージャのパフォーマンスに問題があり、適切な実行プランが利用されていない事に原因がある場合、下記の解決策を検討して下さい ストアドプロシージャの実行時間が閾値を超えた場合に、自動リコンパイルして再実行するようパラメータを設定(Note ) カーネル 4.6A 以降の場合、ABAP の中に SQL Server 向けのオプティマイザヒントを付加 (Note ) カーネル 6.20 以降の場合、クエリを毎回最適化する ようパラメータを設定 (Note 28667)

13 4.整合性チェック チェック対象 インデックスとデータページのリンクが正しい事 インデックスが適切な並べ替え順に並んでいる事 ポインタに一貫性がある事 各ページ上のデータが適切である事 ページオフセットが適切である事 SQL Server 7.0 より、定期的な整合性チェックは 必須ではなく、あくまで本番業務に影響を及ぼさない範囲内で行うべき作業です

14 整合性チェックの実行 SQL Server の特定のエラーメッセージ (SAP Note 参照)が表示された場合、データベースが破損している可能性があるので、 整合性チェックを実行して下さい 「大半の場合、破損はハードウエアの問題により発生します。」(SAP Note ) 必要に応じて “PHYSICAL_ONLY” オプションを指定して、 ハードウエアが原因のエラーであるか否かを、手早く 調査して下さい 完全なチェックではなく、ページとレコードヘッダーの物理構造に 絞ったチェックです

15 5.ブロッキング・デッドロック データベースエラー 1205(デッドロック)の 監視、問題解決にあたっては、SAP Note の記載に従って下さい 全て運用で解決可能です

16 以上で、セッションは終了です。ご清聴、どうもありがとうございました。


Download ppt "SAP システムにおける SQL Server 運用ノウハウ"

Similar presentations


Ads by Google