SQL Serverでは、データベースはデータとオブジェクト(テーブル、ビュー、ストアドプロシージャなど)をファイルに格納します。デフォルトのオプションを使用してデータベースを作成すると、1つのデータファイルと1つのログファイルが作成されます。ただし、各ファイルの1つだけに制限されているわけではありません。必要に応じて、後日、データファイル(およびログファイル)をデータベースに追加できます。
この記事には、T-SQLを使用してSQLServerの既存のデータベースにデータファイルを追加する例が含まれています。
例
既存のデータベースに単一のデータファイルを追加する例を次に示します。
USE master;
GO
ALTER DATABASE Solutions
ADD FILE
(
NAME = Solutions_dat_2,
FILENAME = '/var/opt/mssql/data/Solutions_dat_2.ndf',
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH = 5%
);
GO
これにより、論理名がSolutions_dat_2で、物理パスが /var/opt/mssql/data/Solutions_dat_2.ndfのデータファイルが追加されます。 (これはコンピューター上の物理的な場所です。)
この例ではLinux/Macファイルパスを使用していることに注意してください。 Windowsを使用している場合は、円記号( \ )を使用する必要があります )スラッシュの代わりに( / 。
この例で使用されているさまざまな引数の説明は次のとおりです。
名前コード>- 論理ファイル名を指定します。これは、ファイルを参照するときにSQLServerのインスタンスで使用される論理名です。
ファイル名- これは、ファイルへの完全な物理パス(つまり、ファイルへのオペレーティングシステムのパス)です。
サイズコード>- ファイルサイズを指定します。 KB、MB、GB、またはTBで指定できます。
-
MAXSIZE - ファイルを拡大できる最大ファイルサイズ。 KB、MB、GB、TB、またはUNLIMITEDで指定できます。
-
FILEGROWTH - ファイルの自動拡張増分(新しいスペースが必要になるたびにファイルに追加されるスペースの量)。 KB、MB、GB、TB、または%で指定できます。
デフォルトはMBです (メガバイトの場合)。
結果を確認する
次のクエリを実行して結果を確認できます:
USE Solutions; GO SELECT name, physical_name FROM sys.database_files; GO
結果:
name physical_name --------------- --------------------------------------- Solutions /var/opt/mssql/data/Solutions.mdf Solutions_log /var/opt/mssql/data/Solutions_log.ldf Solutions_dat_2 /var/opt/mssql/data/Solutions_dat_2.ndf
元のデータファイル(およびログファイル)に加えて、新しいデータファイルが一覧表示されます。
もちろん、アスタリスク( * )を使用することもできます )必要に応じてすべての列を返します。
ある日不要になった場合は、いつでも新しいデータファイルを削除できます。