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
元のデータファイル(およびログファイル)に加えて、新しいデータファイルが一覧表示されます。
もちろん、アスタリスク( *
)を使用することもできます )必要に応じてすべての列を返します。
ある日不要になった場合は、いつでも新しいデータファイルを削除できます。