SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

EnterpriseZine編集部ではイベントを随時開催しております

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

SQL Server管理者のための動的管理ビュー入門編

SQL Server 物理設計のベストプラクティス(後編)

 今回は前回に引き続きSQL Serverのデータベース配置におけるベストプラクティスの残り4項目を紹介していきます。前回紹介した6項目と合わせた計10項目について物理設計時のチェック観点としてぜひチェックするようにしてください。

7.複数データファイル構成で自動拡張を有効にする場合はデータファイルの同時自動拡張を有効化する

 前回「3. 複数のI/Oデバイスを利用できる場合はデータファイルを分散配置し負荷を平準化する」で解説した通り、ファイルグループ内のデータファイルが複数で構成されているとデータはストライピングされます。この状況下ですべてのファイルが一杯になると自動拡張が発生しますが、既定ではファイル単位で順次拡張されていきます。例えば、A、B、Cと3つのファイルが一杯になると、まずはAから拡張され、そのAが一杯になるとBが拡張される、という具合です。

 この振る舞いの問題点は、拡張されたファイルにI/Oが偏る可能性があることです。すなわちストライピングが十分に機能しなくなります。

 この問題を回避するためにはファイルの拡張をすべてのファイルで同時に処理させます。その振る舞いを有効化するのがAUTOGROW_ALL_FILESデータベースオプションです。この設定をONにすることで、すべてのファイルが同時に拡張されるようになり、引き続きストライピングが機能します。

 AUTOGROW_ALL_FILESはSQL Server 2016以降でサポートされたデータベースオプションでtempdbでは既定で有効、ユーザDBでは既定で無効になっています。また、この制御はSQL Server 2014以前のトレースフラグ1117と同様です。ただし前者はファイルグループの粒度で設定するのに対して、後者はインスタンスの粒度での設定になります。なお、SQL Server 2016以降ではトレースフラグ1117は意味をもたず、AUTOGROW_ALL_FILESにて制御が必要です。

USE UserDB
GO
-- 設定変更(ファイルの同時自動拡張を有効化)
ALTER DATABASE UserDB MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES
GO

-- 設定変更(ファイルの同時自動拡張を無効化)
-- ALTER DATABASE UserDB MODIFY FILEGROUP [PRIMARY] AUTOGROW_SINGLE_FILE
-- GO

-- 設定確認
SELECT 
  name, is_autogrow_all_files
FROM
  sys.filegroups WHERE name = 'PRIMARY'
GO

 ちなみに、ログファイルについてはファイルへのI/Oパターン(シーケンシャルアクセスでストライピングなし)からも推測できる通り、同時自動拡張の意味はなく、オプションのON/OFFに関わらず制御対象外です。

次のページ
8.ファイルの瞬時初期化を有効にする

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
SQL Server管理者のための動的管理ビュー入門編連載記事一覧

もっと読む

この記事の著者

太田智行(オオタトモユキ)

NECソリューションイノベータ株式会社
2002年入社以来、SQL Server、Oracle、MySQL、PostgreSQLを活用したSIを多数経験。
2013年Microsoft社と「In-Memory OLTP機能」の徹底検証を実施。
以来、SQL Server...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/11001 2018/08/01 06:00

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング