Open棟梁Project - マイクロソフト系技術情報 Wiki
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>SQL Server]]

* 目次 [#kd0f1dc8]
#contents

*概要 [#jae2fdc4]
ディスクI/Oを減らす系の作業が多い。

*メンテナンス プラン [#xb19bf31]
-メンテナンス プランの作成~
https://msdn.microsoft.com/ja-jp/library/ms187658.aspx

**[[インデックスの再構築・デフラグ]] [#sb4ace54]

**[[空ページを削除し、データ ファイルを圧縮>データ ファイルの圧縮と拡張#we445ebc]] [#na2be50f]

**[[インデックスの統計情報を更新>SQL Server のオプティマイザ]] [#q5eac4ed]

**内部一貫性チェック [#c49b9a80]
SQL Serverでは、「DBCC CHECKDB」ステートメントを使用して、~
指定されたDB内の、すべてのDBオブジェクトの割り当てと構造的整合性を~
チェック、修復することができる。

***DBCC CHECKDB [#f38ddf88]
-オンラインでの実行
--「DBCC CHECKDB」ステートメントは、スキーマ ロックを保持する。
--スキーマ ロックとのロックの互換性から、~
オンライン操作(DMLステートメント)は許可されるが、~
DDLステートメントは許可されないので注意する。


-処理の負荷
--「DBCC CHECKDB」ステートメントは、CPU とディスクに大きな負担がかかる。
--まず、チェックする「データ ページ」が、メモリに読み込まれなければならない。
--その上、tempdbを使用してデータを並べ替える。

--また、ログの読み取りが終了するまで~
「トランザクション ログ」の切り捨てをブロックするため、~
「DBCC CHECKDB」ステートメントの実行中にトランザクションを~
活発に実行すると、「トランザクション ログ」が増大し続ける。

-このため、サーバの負荷が軽い時間帯に、~
「DBCC CHECKDB」ステートメントを実行することが推奨される。


-オンライン処理の性能に影響を与えないための推奨事項

--システムの使用率が低いときに実行する。
--他のディスク I/O 操作を実行していないことを確認する。
--tempdb を別のディスク システム、または高速なディスク サブシステムに配置する。
--tempdb が拡張できるように、ドライブに十分な空き領域を用意する。

--オプション
---「ESTIMATE ONLY」オプション~
tempdbに必要な空き領域のサイズを見積もる。
---「NO_INFOMSGS」オプション~
処理量とtempdbの使用率を減らす。 
---「PHYSICAL_ONLY」オプション~
チェック内容を、DBの物理的一貫性のみの~
低オーバー ヘッド チェックに変更する。

**[[バックアップ>SQL Server のバックアップ]] [#yc2872f4]

*データ圧縮 [#r4ac03f9]
パーティション毎、異なる圧縮オプションを使用できる。

-ページ圧縮
-行圧縮
--プレフィックスの圧縮
--辞書の圧縮

ディスクI/Oを減らすが、CPU時間は増える。

*チューニング [#s2c9104c]
ディスク・コントローラのI/O性能をフル活用する。

**RAID、ディスク・レイアウトなど。 [#gc789add]
-[[RAID]]
-[[ディスク・レイアウト>SQL Server のファイルの配置]]

**[[ファイル・グループに分割・配置>SQL Server のファイル・グループ]] [#gf4e58ac]

**[[データのパーティション分割>SQL Server パーティション分割]] [#afa2fd98]

**[[インデックス見直し>SQL Server 問題の分析方法#b2d9fa8c]] [#s8051ed7]

**[[スパース列>https://msdn.microsoft.com/ja-jp/library/Cc280604.aspx]]として設定 [#c0ed1001]

*監視 [#q2b80ad8]
問題を監視する。

**定常的 [#t44743df]
-[[サーバーの監視]]
-[[ログの監視>SQL Server のログ]]
-[[SQLプロファイラ(SQLトレース)]]
-データベースのサイズの監視(アーカイブなど)

**[[インシデント>SQL Server#i20a1481]] [#mf7f5ee6]
-[[SQL Server 問題の分析方法]]
-.etc

*その他 [#scbff02a]

**[[パーティション分割>SQL Server パーティション分割]] [#o54767f9]
[[並列クエリ>SQL Server のファイル・グループ#z5226928]]による性能向上も可能だが、主に保守・運用時時のデータ・メンテナンス性能に効果を発揮。

**シャーディング [#f1450442]
--オンライン性能向上であれば、分割キーによるシャーディングを検討。
--データベース シャーディングの基本~
https://msdn.microsoft.com/ja-jp/library/azure/dn764982.aspx

----
Tags: [[:データアクセス]], [[:SQL Server]]


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