2005年07月29日

ファイルグループ

データベース内のデータファイルを論理的にまとめる (データベース単位で作成)
  SQL Server 7.0 以降 (← SQL Server 6.5 までのセグメントに相当)
データファイルは1つのファイルグループのみに所属可
トランザクションログファイルはファイルグループに含めることはできない
ユーザー定義テーブルのデータをファイルグループ単位で指定可能
ディスクの追加可 → ファイルグループ自体の使用可能領域拡張
ファイルグループごとに読み取り専用設定可
○ ファイルグループ作成目的
I/O 負荷分散(論理分散 → 物理分散は RAID で)
管理の容易化(→ 大規模環境下でのバックアップ実行単位の縮小化)
○ ファイルグループの種類
プライマリファイルグループ(「PRIMARY」)
  各データベースに1つ保持
  システムテーブルを含むプライマリデータファイルが含まれる → セカンダリデータファイルも格納可
  領域が不足するとシステムテーブルに情報が追加できなくなる
 
ユーザー定義ファイルグループ
  ユーザーが任意に作成
  各データベースにいくつでも作成可(なくても可)
  セカンダリデータファイルを含むことができる → プライマリデータファイルは格納不可
  領域が不足しても影響を受けるのはそのファイルグループに割り当てられたユーザーファイルのみ
 
デフォルトファイルグループ
  各データベースで1つ指定 (既定:PRIMARY ファイルグループ)
 
 
ユーザー定義テーブル作成時に格納先ファイルグループの指定が行われなかった場合、デフォルトのファイルグループのデータファイルに書き込みが行われる
  デフォルトファイルグループの変更も可能
    Enterprise Manager → データベースのオプション → [ファイルグループ]タブ
    ALTER DATABASE データベース名 MODIFY FILEGROUP ファイルグループ名 DEFAULT
 
テーブル、インデックス、text、ntext、image の各データを特定のファイルグループに関連付け可能
○ ファイルグループの設定
1. ファイルグループの作成
  Enterprise Manager → データベースのオプション → [ファイルグループ]タブ
  CREATE DATABASE データベース名 FILEGROUP ファイルグループ名
  ALTER DATABASE データベース名 ADD FILEGROUP ファイルグループ名
  データベース作成時でも作成後でも設定可
 
2. データファイルの作成
  Enterprise Manager → データベースのオプション → [データファイル]タブ
  CREATE TABLE テーブル名 (...) TO FILEGROUP ファイルグループ名
  ALTER TABLE テーブル名 ADD FILE (...) TO FILEGROUP ファイルグループ名
  デフォルトファイルグループの設定はデータファイル定義後に設定可
 
3. オブジェクトをデータファイルに割り当て
  新規オブジェクトはデフォルトファイルグループへ
  既存テーブルの割り当て
   
 
Enterprise Manager → データベース → テーブル右クリック → [テーブルのデザイン] → 任意の列のプロパティ
    [テーブル]タブ … テーブルの割り当て
      [テーブルファイルグループ]:テーブルを格納するファイルグループ
      [テキストファイルグループ]:text、ntext、image 型データ列を配置するファイルグループ
    [インデックス/キー]タブ … インデックスの割り当て
○ ファイルグループ情報の表示
Enterprise Manager
システムストアドプロシージャ
 
sp_helpfile ['ファイル名'] ファイルの物理名と属性を返す
sp_helpfilegroup ['ファイルグループ名'] ファイルグループ情報を返す
posted by w@ko at 17:38|  ・SQL Server ノート | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。