データベース ファイルとファイル グループDatabase Files and Filegroups

適用対象: はいSQL Server いいえAzure SQL Database いいえAzure Synapse Analytics (SQL DW) いいえParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

SQL ServerSQL Server の各データベースには、データ ファイルとログ ファイルという少なくとも 2 つのオペレーティング システム ファイルがあります。At a minimum, every SQL ServerSQL Server database has two operating system files: a data file and a log file. データ ファイルには、テーブル、インデックス、ストアド プロシージャ、およびビューなどのデータおよびオブジェクトが含まれます。Data files contain data and objects such as tables, indexes, stored procedures, and views. ログ ファイルには、データベース内のすべてのトランザクションを復旧するために必要な情報が含まれます。Log files contain the information that is required to recover all transactions in the database. データ ファイルは、割り当てと管理の目的でファイル グループにまとめることができます。Data files can be grouped together in filegroups for allocation and administration purposes.

データベース ファイルDatabase Files

SQL ServerSQL Server データベースには、次の表で示すように 3 種類のファイルがあります。databases have three types of files, as shown in the following table.

ファイルFile 説明Description
プライマリPrimary プライマリ データ ファイルにはデータベースの起動情報が含まれており、データベース内の他のファイルを指し示します。The primary data file contains the startup information for the database and points to the other files in the database. ユーザー データおよびオブジェクトは、このファイルまたはセカンダリ データ ファイルに格納できます。User data and objects can be stored in this file or in secondary data files. 各データベースには 1 つのプライマリ データ ファイルがあります。Every database has one primary data file. プライマリ データ ファイルに推奨されるファイル名拡張子は .mdf です。The recommended file name extension for primary data files is .mdf.
セカンダリSecondary セカンダリ データ ファイルは省略可能です。また、ユーザー定義であり、ユーザー データが格納されます。Secondary data files are optional, are user-defined, and store user data. セカンダリ ファイルを使用すると、各ファイルを異なるディスク ドライブに配置することにより、複数のディスクにデータを分散できます。Secondary files can be used to spread data across multiple disks by putting each file on a different disk drive. また、データベースが 1 つの Windows ファイルの最大サイズを超えた場合には、セカンダリ データ ファイルを使用してデータベースを拡張できます。Additionally, if a database exceeds the maximum size for a single Windows file, you can use secondary data files so the database can continue to grow.

セカンダリ データ ファイルに推奨されるファイル名拡張子は .ndf です。The recommended file name extension for secondary data files is .ndf.
トランザクション ログTransaction Log トランザクション ログ ファイルには、データベースの復旧に使用されるログ情報が格納されます。The transaction log files hold the log information that is used to recover the database. 1 つのデータベースにトランザクション ログ ファイルが少なくとも 1 つ必要です。There must be at least one log file for each database. トランザクション ログに推奨されるファイル名拡張子は .ldf です。The recommended file name extension for transaction logs is .ldf.

たとえば、データとオブジェクトをすべて格納するプライマリ ファイルを 1 つとトランザクション ログ情報を格納するログ ファイルを 1 つ含む Sales という単純なデータベースを作成することができます。For example, a simple database named Sales can be created that includes one primary file that contains all data and objects and a log file that contains the transaction log information. または、プライマリ ファイルを 1 つとセカンダリ ファイルを 5 つ含む Orders というより複雑なデータベースを作成できます。Alternatively, a more complex database named Orders can be created that includes one primary file and five secondary files. データベース内のデータとオブジェクトは 6 つすべてのファイルに分散され、4 つのログ ファイルにトランザクション ログ情報が含まれます。The data and objects within the database spread across all six files, and the four log files contain the transaction log information.

既定では、データとトランザクション ログは同一のドライブおよびパス上に配置されます。By default, the data and transaction logs are put on the same drive and path. これは、単一のディスク システムを処理するために行われますが、This is done to handle single-disk systems. 実稼働環境では最適ではない場合があります。However, this may not be optimal for production environments. そのため、データとログ ファイルは別のディスクに配置することをお勧めします。We recommend that you put data and log files on separate disks.

論理ファイル名と物理ファイル名Logical and Physical File Names

SQL ServerSQL Server ファイルにはファイル名の種類が 2 つあります。files have two file name types:

logical_file_name: logical_file_name はすべての Transact-SQL ステートメントで物理ファイルを参照するために使用する名前です。logical_file_name: The logical_file_name is the name used to refer to the physical file in all Transact-SQL statements. 論理ファイル名は、SQL ServerSQL Server の識別子の規則に従っている必要があります。また、データベース内の論理ファイル名は互いに一意にする必要があります。The logical file name must comply with the rules for SQL ServerSQL Server identifiers and must be unique among logical file names in the database. これは ALTER DATABASENAME 引数で設定されます。This is set by the NAME argument in ALTER DATABASE. 詳細については、「ALTER DATABASE の File および Filegroup オプション (Transact-SQL)」を参照してください。For more information, see ALTER DATABASE File and Filegroup Options (Transact-SQL).

os_file_name: os_file_name はディレクトリ パスを含む物理ファイルの名前です。os_file_name: The os_file_name is the name of the physical file including the directory path. この名前はオペレーティング システムのファイル名の規則に従っている必要があります。It must follow the rules for the operating system file names. これは ALTER DATABASEFILENAME 引数で設定されます。This is set by the FILENAME argument in ALTER DATABASE. 詳細については、「ALTER DATABASE の File および Filegroup オプション (Transact-SQL)」を参照してください。For more information, see ALTER DATABASE File and Filegroup Options (Transact-SQL).

重要

SQL ServerSQL Server のデータとログ ファイルは、FAT または NTFS のいずれかのファイル システムに配置できます。data and log files can be put on either FAT or NTFS file systems. Windows システムの場合、NTFS のセキュリティの方が強力なので、NTFS ファイル システムを使用することをお勧めします。On Windows systems, we recommend using the NTFS file system because the security aspects of NTFS.

警告

読み取りまたは書き込みデータ ファイル グループとログ ファイルは、NTFS 圧縮ファイル システムではサポートされていません。Read/write data filegroups and log files are not supported on an NTFS compressed file system. 圧縮された NTFS ファイル システムに配置できるのは、読み取り専用データベースと読み取り専用セカンダリ ファイル グループだけです。Only read-only databases and read-only secondary filegroups are allowed to be put on an NTFS compressed file system. 領域を節約するために、ファイル システムの圧縮ではなく、データの圧縮を強くお勧めします。For space savings, it is highly recommended to use data compression instead of file system compression.

1 台のコンピューターで SQL ServerSQL Server の複数のインスタンスを実行すると、インスタンスごとに異なる既定のディレクトリが与えられ、そのインスタンスで作成したデータベースのファイルがその既定のディレクトリで保持されます。When multiple instances of SQL ServerSQL Server are running on a single computer, each instance receives a different default directory to hold the files for the databases created in the instance. 詳細については、「 SQL Server の既定のインスタンスおよび名前付きインスタンスのファイルの場所」を参照してください。For more information, see File Locations for Default and Named Instances of SQL Server.

データ ファイルのページData File Pages

SQL ServerSQL Server データ ファイルのページには、ファイル内の最初のページを 0 として、順に番号が付けられています。Pages in a SQL ServerSQL Server data file are numbered sequentially, starting with zero (0) for the first page in the file. データベース内の各ファイルには一意のファイル ID 番号が付けられています。Each file in a database has a unique file ID number. データベース内のページを一意に識別するには、ファイル ID とページ番号の両方が必要です。To uniquely identify a page in a database, both the file ID and the page number are required. 次の例は、4 MB のプライマリ データ ファイルと 1 MB のセカンダリ データ ファイルがあるデータベースのページ番号を示しています。The following example shows the page numbers in a database that has a 4-MB primary data file and a 1-MB secondary data file.

data_file_pages

各ファイルの 1 ページ目はファイル ヘッダー ページで、そのファイルの属性に関する情報が格納されています。The first page in each file is a file header page that contains information about the attributes of the file. また、ファイルの先頭にある数ページには、アロケーション マップなどのシステム情報が格納されています。Several of the other pages at the start of the file also contain system information, such as allocation maps. プライマリ データ ファイルと最初のログ ファイルの両方に格納されているシステム ページの 1 つは、データベースの属性情報が格納されているデータベース ブート ページです。One of the system pages stored in both the primary data file and the first log file is a database boot page that contains information about the attributes of the database. ページとページの種類の詳細については、「ページとエクステントのアーキテクチャ ガイド」を参照してください。For more information about pages and page types, see Pages and Extents Architecture Guide.

ファイル サイズFile Size

SQL ServerSQL Server のファイルは、最初に指定したサイズから自動拡張するように設定できます。files can grow automatically from their originally specified size. ファイルを定義するときに、拡張の増分値を指定できます。When you define a file, you can specify a specific growth increment. ファイルの空き容量がなくなるたびに、ファイルのサイズは指定した増分値だけ拡張されます。Every time the file is filled, it increases its size by the growth increment. ファイル グループに複数のファイルが存在する場合、すべてのファイルの空き容量がなくなるまで、ファイル グループ内のファイルは自動拡張しません。If there are multiple files in a filegroup, they will not autogrow until all the files are full. すべてのファイルに空き容量がなくなると、ラウンド ロビン方式の比例配分で拡張されます。Growth then occurs in a round-robin fashion using proportional fill.

各ファイルに最大サイズを指定することもできます。Each file can also have a maximum size specified. 最大サイズを指定しなかった場合、ファイルはディスクの空き領域を使い果たすまで拡張し続けます。If a maximum size is not specified, the file can continue to grow until it has used all available space on the disk. この機能は、ユーザーがシステム管理者と簡単に連絡を取れない状況にあり、SQL ServerSQL Server をアプリケーションに埋め込んだデータベースとして使用している場合に特に便利です。This feature is especially useful when SQL ServerSQL Server is used as a database embedded in an application where the user does not have convenient access to a system administrator. ユーザーは、必要に応じてファイルを自動拡張するようにし、データベースの空き領域の監視や追加領域を手動で割り当てる管理上の負担を軽減できます。The user can let the files autogrow as required to reduce the administrative burden of monitoring free space in the database and manually allocating additional space.

SQL ServerSQL Serverファイルの瞬時初期化 (IFI) を有効にすると、データ ファイルに新しい領域を割り当てるとき、最小限のオーバーヘッドが発生します。If Instant File Initialization (IFI) is enabled for SQL ServerSQL Server, there is minimal overhead when allocating new space for data files.

トランザクション ログ ファイル管理の詳細については、「トランザクション ログ ファイルのサイズの管理」を参照してください。For more information on transaction log file management, see Manage the size of the transaction log file.

データベース スナップショット ファイルDatabase Snapshot Files

スナップショットがユーザーによって作成されるか、内部的に使用されるかに応じて、copy-on-write (書き込まれるたびにコピー) のデータを保存するためにデータベース スナップショットで使用されるファイル形式が決まります。The form of file that is used by a database snapshot to store its copy-on-write data depends on whether the snapshot is created by a user or used internally:

  • ユーザーによって作成されるデータベース スナップショットでは、1 つまたは複数のスパース ファイルにデータを保存します。A database snapshot that is created by a user stores its data in one or more sparse files. スパース ファイル技術は NTFS ファイル システムの機能です。Sparse file technology is a feature of the NTFS file system. 初期状態のスパース ファイルにはユーザー データが含まれておらず、ユーザー データ用のディスク領域も割り当てられていません。At first, a sparse file contains no user data, and disk space for user data has not been allocated to the sparse file. データベース スナップショットでのスパース ファイルの使用方法と、データベース スナップショットがどのように拡張されるかについては、「 データベース スナップショットのスパース ファイルのサイズを表示する方法 (Transact-SQL)」を参照してください。For general information about the use of sparse files in database snapshots and how database snapshots grow, see View the Size of the Sparse File of a Database Snapshot.
  • データベース スナップショットは特定の DBCC コマンドによって内部的に使用されます。Database snapshots are used internally by certain DBCC commands. このようなコマンドには、DBCC CHECKDB、DBCC CHECKTABLE、DBCC CHECKALLOC、DBCC CHECKFILEGROUP などがあります。These commands include DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKALLOC, and DBCC CHECKFILEGROUP. 内部データベース スナップショットでは、元のデータベース ファイルのスパース代替データ ストリームを使用します。An internal database snapshot uses sparse alternate data streams of the original database files. スパース ファイル同様、代替データ ストリームも NTFS ファイル システムの機能です。Like sparse files, alternate data streams are a feature of the NTFS file system. スパース代替データ ストリームを使用すると、ファイル サイズやボリューム統計に影響を与えることなく、複数のデータ割り当てを単一のファイルまたはフォルダーに関連付けることができます。The use of sparse alternate data streams allows for multiple data allocations to be associated with a single file or folder without affecting the file size or volume statistics.

ファイル グループFilegroups

各データベースには、1 つのプライマリ ファイル グループがあります。Every database has a primary filegroup. プライマリ ファイル グループには、プライマリ データ ファイル、および他のファイル グループに配置されていないセカンダリ ファイルが含まれます。This filegroup contains the primary data file and any secondary files that are not put into other filegroups. ユーザー定義のファイル グループを作成して、データベースの管理、データの割り当て、および配置をしやすくするために、データ ファイルをグループ化できます。User-defined filegroups can be created to group data files together for administrative, data allocation, and placement purposes.

たとえば、3 つのファイル (Data1.ndfData2.ndfData3.ndf) をそれぞれ 3 つのディスク ドライブ上に作成し、ファイル グループ fgroup1 に割り当てることができます。For example, three files, Data1.ndf, Data2.ndf, and Data3.ndf, can be created on three disk drives, respectively, and assigned to the filegroup fgroup1. その後、ファイル グループ fgroup1 にテーブルを作成することができます。A table can then be created specifically on the filegroup fgroup1. このテーブル内にあるデータに対するクエリが 3 つのディスクにわたって分散されるため、パフォーマンスが向上します。Queries for data from the table will be spread across the three disks; this will improve performance. RAID (Redundant Array of Independent Disks) ストライプ セットにファイルを 1 つ作成しても、同じくらいパフォーマンスを向上させることができます。The same performance improvement can be accomplished by using a single file created on a RAID (redundant array of independent disks) stripe set. ただし、ファイルとファイル グループを使用すれば、新しいファイルを新しいディスクに容易に追加できます。However, files and filegroups let you easily add new files to new disks.

すべてのデータ ファイルは、次の表に一覧表示されているファイル グループに格納されます。All data files are stored in the filegroups listed in the following table.

[ファイル グループ]Filegroup 説明Description
プライマリPrimary プライマリ ファイルが含まれているファイル グループ。The filegroup that contains the primary file. すべてのシステム テーブルがプライマリ ファイル グループに割り当てられます。All system tables are allocated to the primary filegroup.
メモリ最適化データMemory Optimized Data メモリ最適化ファイル グループは filestream ファイル グループに基づきます。A memory-optimized filegroup is based on filestream filegroup
FilestreamFilestream
ユーザー定義User-defined ユーザーがデータベースを最初に作成したとき、または後で変更したときに、ユーザーが特別に作成したファイル グループ。Any filegroup that is specifically created by the user when the user first creates or later modifies the database.

既定の (プライマリ) ファイル グループDefault (Primary) Filegroup

所属させるファイル グループを指定せずにデータベース内にオブジェクトを作成すると、そのオブジェクトは既定のファイル グループに割り当てられます。When objects are created in the database without specifying which filegroup they belong to, they are assigned to the default filegroup. どのような場合でも、必ず 1 つのファイル グループが既定のファイル グループとして指定されます。At any time, exactly one filegroup is designated as the default filegroup. 既定のファイル グループ内のファイルは、他のファイル グループに割り当てられない新しいオブジェクトを十分に格納できる大きさである必要があります。The files in the default filegroup must be large enough to hold any new objects not allocated to other filegroups.

PRIMARY ファイル グループは、ALTER DATABASE ステートメントを使用して変更しない限り、既定のファイル グループです。The PRIMARY filegroup is the default filegroup unless it is changed by using the ALTER DATABASE statement. システム オブジェクトとシステム テーブルは、変更後の既定のファイル グループではなく、引き続き PRIMARY ファイル グループに格納されます。Allocation for the system objects and tables remains within the PRIMARY filegroup, not the new default filegroup.

メモリ最適化データ ファイル グループMemory Optimized Data Filegroup

メモリ最適化ファイル グループの詳細については、「メモリ最適化ファイル グループ」を参照してください。For more information on memory-optimized filegroups, see Memory Optimized Filegroup.

filestream ファイル グループFilestream Filegroup

filestream ファイル グループの詳細については、「FILESTREAM」と「FILESTREAM が有効なデータベースを作成する方法」を参照してください。For more information on filestream filegroups, see FILESTREAM and Create a FILESTREAM-Enabled Database.

ファイルおよびファイル グループの例File and Filegroup Example

次の例では、SQL Server のインスタンスにデータベースを作成します。The following example creates a database on an instance of SQL Server. このデータベースにはプライマリ データ ファイル、ユーザー定義のファイル グループ、およびログ ファイルが含まれます。The database has a primary data file, a user-defined filegroup, and a log file. プライマリ データ ファイルはプライマリ ファイル グループ内にあり、ユーザー定義ファイル グループには 2 つのセカンダリ データ ファイルがあります。The primary data file is in the primary filegroup and the user-defined filegroup has two secondary data files. ALTER DATABASE ステートメントにより、このユーザー定義のファイル グループは既定のファイル グループになります。An ALTER DATABASE statement makes the user-defined filegroup the default. その後、ユーザー定義のファイル グループを指定してテーブルを作成します。A table is then created specifying the user-defined filegroup. (この例では、SQL Server のバージョンの指定を回避するため、一般的なパス c:\Program Files\Microsoft SQL Server\MSSQL.1 を使用しています。)(This example uses a generic path c:\Program Files\Microsoft SQL Server\MSSQL.1 to avoid specifying a version of SQL Server.)

USE master;
GO
-- Create the database with the default data
-- filegroup, filstream filegroup and a log file. Specify the
-- growth increment and the max size for the
-- primary data file.
CREATE DATABASE MyDB
ON PRIMARY
  ( NAME='MyDB_Primary',
    FILENAME=
       'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB_Prm.mdf',
    SIZE=4MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
FILEGROUP MyDB_FG1
  ( NAME = 'MyDB_FG1_Dat1',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB_FG1_1.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
  ( NAME = 'MyDB_FG1_Dat2',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB_FG1_2.ndf',
    SIZE = 1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM
  ( NAME = 'MyDB_FG_FS',
    FILENAME = 'c:\Data\filestream1')
LOG ON
  ( NAME='MyDB_log',
    FILENAME =
       'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\MyDB.ldf',
    SIZE=1MB,
    MAXSIZE=10MB,
    FILEGROWTH=1MB);
GO
ALTER DATABASE MyDB 
  MODIFY FILEGROUP MyDB_FG1 DEFAULT;
GO

-- Create a table in the user-defined filegroup.
USE MyDB;
CREATE TABLE MyTable
  ( cola int PRIMARY KEY,
    colb char(8) )
ON MyDB_FG1;
GO

-- Create a table in the filestream filegroup
CREATE TABLE MyFSTable
(
    cola int PRIMARY KEY,
  colb VARBINARY(MAX) FILESTREAM NULL
)
GO

次の図は、上の例の結果をまとめたものです (filestream データを除く)。The following illustration summarizes the results of the previous example (except for the Filestream data).

filegroup_example

ファイルとファイル グループのデータの格納方法File and Filegroup Fill Strategy

ファイル グループには、ファイル グループ内のすべてのファイルを対象として、各ファイルの空き領域に比例したデータ格納方法が使用されます。Filegroups use a proportional fill strategy across all the files within each filegroup. SQL Server データベース エンジンSQL Server Database Engineは、データをファイル グループに書き込む際には、最初のファイルがいっぱいになるまでそのファイルにすべてのデータを書き込むのではなく、ファイル内の空き領域に比例してファイル グループ内の各ファイルにデータを書き込みます。As data is written to the filegroup, the SQL Server データベース エンジンSQL Server Database Engine writes an amount proportional to the free space in the file to each file within the filegroup, instead of writing all the data to the first file until full. その後で、次のファイルにデータを書き込みます。It then writes to the next file. たとえば、ファイル f1 の空き領域が 100 MB で、ファイル f2 の空き領域が 200 MB の場合、ファイル f1 のエクステント 1 つとファイル f2 のエクステント 2 つが割り当てられます。For example, if file f1 has 100 MB free and file f2 has 200 MB free, one extent is allocated from file f1, two extents from file f2, and so on. これにより、2 つのファイルがほぼ同時にいっぱいになり、簡易ストライピングが実現されます。In this way, both files become full at about the same time, and simple striping is achieved.

ファイル グループ内のすべてのファイルがいっぱいになると、より多くのデータに対応できるように、SQL Server データベース エンジンSQL Server Database Engineによってファイルが 1 つずつラウンドロビン方式で自動的に拡張されます (データベースが自動拡張されるように設定されている場合)。As soon as all the files in a filegroup are full, the SQL Server データベース エンジンSQL Server Database Engine automatically expands one file at a time in a round-robin manner to allow for more data, provided that the database is set to grow automatically. たとえば、1 つのファイル グループが 3 つのファイルから構成されていて、すべてのファイルが自動拡張されるように設定されているとします。For example, a filegroup is made up of three files, all set to automatically grow. ファイル グループ内のすべてのファイルの領域がいっぱいになると、最初のファイルだけが拡張されます。When space in all the files in the filegroup is exhausted, only the first file is expanded. 最初のファイルがいっぱいになり、ファイル グループにデータが書き込めなくなると、2 番目のファイルが拡張されます。When the first file is full and no more data can be written to the filegroup, the second file is expanded. 2 番目のファイルがいっぱいになり、ファイル グループにデータが書き込めなくなると、3 番目のファイルが拡張されます。When the second file is full and no more data can be written to the filegroup, the third file is expanded. 3 番目のファイルがいっぱいになり、ファイル グループにデータが書き込めなくなると、最初のファイルが再度拡張され、その後データの書き込み領域がなくなると順次各ファイルの拡張が行われます。If the third file becomes full and no more data can be written to the filegroup, the first file is expanded again, and so on.

ファイルとファイル グループのデザインに関する規則Rules for designing Files and Filegroups

ファイルとファイル グループに関連する規則は次のとおりです。The following rules pertain to files and filegroups:

  • 1 つのファイルまたはファイル グループを複数のデータベースで使用することはできません。A file or filegroup cannot be used by more than one database. たとえば、sales データベース内のデータとオブジェクトが格納されているファイル sales.mdf と sales.ndf を他のデータベースが使用することはできません。For example, file sales.mdf and sales.ndf, which contain data and objects from the sales database, cannot be used by any other database.
  • ファイルは 1 つのファイル グループにしか所属できません。A file can be a member of only one filegroup.
  • トランザクション ログ ファイルをファイル グループに格納することはできません。Transaction log files are never part of any filegroups.

推奨事項Recommendations

ファイルとファイル グループを使用して作業するときの一般的な推奨事項を次に示します。Following are some general recommendations when you are working with files and filegroups:

  • 大部分のデータベースは、1 つのデータ ファイルと 1 つのトランザクション ログ ファイルで正常に機能します。Most databases will work well with a single data file and a single transaction log file.
  • 複数のデータ ファイルを使用する場合は、追加ファイル用に 2 番目のファイル グループを作成し、既定のファイル グループとして設定します。If you use multiple data files, create a second filegroup for the additional file and make that filegroup the default filegroup. これにより、プライマリ ファイルにはシステム テーブルとシステム オブジェクトだけが格納されます。In this way, the primary file will contain only system tables and objects.
  • パフォーマンスを最適化するには、できるだけ、使用可能な異なるディスクにファイルまたはファイル グループを作成します。To maximize performance, create files or filegroups on different available disks as possible. また、大きな記憶域を占有する可能性のあるオブジェクトは、別々のファイル グループに配置します。Put objects that compete heavily for space in different filegroups.
  • ファイル グループを使用すると、特定の物理ディスク上にオブジェクトを配置できます。Use filegroups to enable placement of objects on specific physical disks.
  • 同じ結合クエリで使用する各テーブルは別のファイル グループに配置してください。Put different tables used in the same join queries in different filegroups. これにより、結合されるデータが並列ディスク I/O によって検索されるので、パフォーマンスが向上します。This will improve performance, because of parallel disk I/O searching for joined data.
  • アクセス頻度が高いテーブルとそれらのテーブルに属する非クラスター化インデックスは、別々のファイル グループに配置してください。Put heavily accessed tables and the nonclustered indexes that belong to those tables on different filegroups. これにより、ファイルが別の物理ディスク上にある場合に並列 I/O が行われるので、パフォーマンスが向上します。This will improve performance, because of parallel I/O if the files are located on different physical disks.
  • トランザクション ログ ファイルは、他のファイルやファイル グループと同じ物理ディスク上に配置しないでください。Do not put the transaction log file(s) on the same physical disk that has the other files and filegroups.

トランザクション ログ ファイル管理の推奨事項については、「トランザクション ログ ファイルのサイズの管理」を参照してください。For more information on transaction log file management recommendations, see Manage the size of the transaction log file.

CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
ALTER DATABASE の File および Filegroup オプション (Transact-SQL) ALTER DATABASE File and Filegroup Options (Transact-SQL)
データベースのデタッチとアタッチ (SQL Server)Database Detach and Attach (SQL Server)
SQL Server トランザクション ログのアーキテクチャと管理ガイド SQL Server Transaction Log Architecture and Management Guide
ページとエクステントのアーキテクチャ ガイド Pages and Extents Architecture Guide
トランザクション ログ ファイルのサイズの管理Manage the size of the transaction log file