T-SQL BACKUP DATABASE
を使用できます SQLServerデータベースをバックアップするステートメント。
この記事では、データベースをディスクにバックアップする方法について説明します。これにより、必要に応じて後でデータベースを復元するために使用できる.bakファイルが作成されます。
完全バックアップを作成する
SQLServerデータベースのディスクへの完全バックアップを作成する基本的な例を次に示します。
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak';
この例では、Moviesデータベースの完全バックアップをディスク上のファイルに作成します。この例では、Zドライブ上の場所を使用しますが、パスは任意の場所にすることができます。データベースは、実際のデータベース自体に使用されているドライブとは別のドライブにバックアップする必要があります。そうすれば、ディスク障害が発生した場合でも、データベースとともにバックアップファイルを失うことはありません。
次の例でも同じことができますが、この例ではLinuxとMacのファイルパス構文を使用しています。
BACKUP DATABASE Movies TO DISK = '/var/opt/mssql/backups/Movies.bak';
差分バックアップを作成する
完全バックアップを作成したら、差分バックアップを作成できます。差分バックアップとは、最後の完全データベースバックアップが作成されてから変更されたデータベースの一部のみがバックアップされるバックアップです。
差分バックアップは、データベースのバックアップにかかる時間を短縮します(最後の完全バックアップ以降の変更のみがバックアップされるため)。
差分バックアップを作成するには、同じBACKUP DATABASE
を使用します 今回はWITH DIFFERENTIAL
を追加する場合を除いて、完全バックアップの作成に使用するステートメント 条項。
次に例を示します:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak' WITH DIFFERENTIAL;
このステートメントを実行すると、完全バックアップを含む元のバックアップファイルに差分バックアップが追加されます。
トランザクションログのバックアップ
トランザクションログをバックアップすることもできます。これは、BACKUP LOG
を使用して行われます。 ステートメント。
次に例を示します:
BACKUP LOG Movies TO DISK = 'Z:\mssql\backups\Movies_log.bak';