2004年3月25日
『PASSJ Conference 2004 ビギナートラックから( 2 )』
データベースのデフォルトファイルグループを作成しましょう
小規模なデータベースを作成するときは、データベースの物理設計はあまり考慮される項目ではありません。
CREATE DATABASE SAMPLE
このような、単純なデータベース新規作成命令でデータベースを作成します。
このときデータベースには、データファイルが 1 個、トランザクションログファイルが 1 個準備されます。このデータファイルは、プライマリデータファイルとも呼ばれ、そのファイルはプライマリファイルグループに所属します。
SQL Server では、テーブルの列情報やストアドプロシージャのプログラム、ユーザのセキュリティ情報など、そのデータベースに関する重要な制御情報は、プライマリファイルグループに記憶されます。このためプライマリファイルグループに所属するファイルの容量が一杯になったとき(自動拡張できないときや
DISK が一杯になったとき)は、データベースの構造的な変更が一時的にできなくなります。
CREATE DATABASE SAMPLE
データベースを作成したときは、プライマリデータファイルの中に、データベースの重要な情報が記録されます。ところがユーザが作成したテーブルに記録されるレコードのデータも、このプライマリデータファイルに保存されます。データベースの重要な情報と、ユーザのレコードのデータが一緒に保存され、何だかちょっとイヤな気分になりませんか?
やはり、この 2 つのデータは分離した方が気分的に良くなりますし、万が一の事態が発生したときも被害を低く抑えることができそうです。
そこでデータベースの物理設計を省略するような小さいデータベースでも、ユーザが作成したテーブルのデータを記録するファイルグループを準備することをおすすめします。
SQL Server では、何も宣言されないときには、デフォルトファイルグループに、テーブルのデータを保存します。
デフォルトファイルグループを準備するときは、次の手順を行います。まず最初にデータベースを新規に作成します。
CREATE DATABASE SAMPLE
次に、新しいファイルグループを登録します。例えばファイルグループ
DEFAULT_GRPを追加します。
ALTER DATABASE SAMPLE ADD FILEGROUP DEFAULT_GRP
次に、ファイルグループDEFAULT_GRPに所属する物理ファイルを1個登録します。
ALTER DATABASE SAMPLE
ADD FILE
(
NAME = SAMPLE_DFT ,
FILENAME = 'D:\DB\SAMPLE_DFT.NDF' ,
SIZE = 100MB
)
TO FILEGROUP DEFAULT_GRP
次に、ファイルグループDEFAULT_GRPを、デフォルトファイルグループとして宣言します。
ALTER DATABASE SAMPLE MODIFY FILEGROUP DEFAULT_GRP DEFAULT
以上の操作によって、ユーザがこれから作成するテーブルは、デフォルトファイルグループに作成されます。
データベースの物理設計を省略するときも、デフォルトファイルグループだけは準備するようにしましょう。
|