SQL Serverは、データベースのバックアップを作成する簡単な方法を提供します。バックアップは、Transact-SQL、PowerShell、またはGUIを介して実行できます。
ここでは、SQL Operations Studio(現在はAzure Data Studioと呼ばれています)GUIを使用し、次にTransact-SQLを使用し、最後にSQLServerPowershellを使用してバックアップを作成する方法を示します。
SQLOPS / Azure DataStudioGUIを介してバックアップを作成する
-
データベースダッシュボードを開く
左側のペインで、バックアップするデータベースを右クリックし、[管理]を選択します。 。
SSMSを使用している場合は、オブジェクトエクスプローラーで、バックアップするデータベースを右クリックし、[タスク>バックアップ...]を選択します。 コンテキストメニューから。これにより、 データベースのバックアップ が起動します ダイアログボックス。
-
バックアップデータベース を起動します ダイアログボックス
バックアップをクリックします ボタン。
-
設定を確認する
このダイアログボックスでは、必要に応じて設定を変更できます。
この例では、デフォルト設定のままにして、バックアップをクリックします。 バックアップを作成します。
特定のバックアップ要件がある場合は、バックアップタイプを変更するか、詳細設定をクリックします。 詳細設定を調整します。
-
バックアップ完了
バックアップが完了すると、バックアップが成功したことを確認するメッセージが表示されます。
Transact-SQLを使用してデータベースをバックアップする
T-SQLを使用して、上記と同じバックアップを実行できます。
これを行うには、新しいクエリウィンドウを開き、BACKUP
を実行します。 ステートメント。
BACKUP
ステートメントはさまざまなオプションを受け入れますが(GUIオプションと同様)、最小限のコードで簡単なバックアップを実行することもできます。
以下は、LinuxまたはMacシステムでの簡単なバックアップスクリプトの例です。スクリプトは、バックアップするデータベースと、バックアップする場所を指定します。
BACKUP DATABASE Music TO DISK = '/var/opt/mssql/data/Music.bak';
Windowsシステムでは、パスは円記号を使用します:
BACKUP DATABASE Music TO DISK = 'C:\Backups\Music.bak';
このコードを実行すると、バックアップファイルは指定された場所に配置されます。
PowerShellを使用してデータベースをバックアップする
SQL Server 2017は、スクリプトシェルであるWindows PowerShellをサポートしており、通常、管理および展開タスクを自動化するために使用されます。
PowerShell言語は、Transact-SQLスクリプトよりも複雑なロジックをサポートしているため、バックアップやその他のタスク用に、より高度なスクリプトを作成できます。
次のコードは、前の例と同じようにバックアップを作成します。 MyServer
を置き換えるだけです サーバーの名前で。
Backup-SqlDatabase -ServerInstance MyServer -Database Music
場所を指定することもできます
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'
このコードを実行すると、バックアップファイルはデフォルトの場所に配置されます。
-BackupAction Database
を指定することもできます 完全バックアップであることを明示的に示すため。ただし、これはデフォルトのオプションです。
Backup-SqlDatabase
の完全なドキュメントを確認できます MicrosoftのWebサイトでコマンドを実行します。
バックアップファイルの上書き
バックアップファイルに同じファイル名を使用して複数のバックアップを実行すると、バックアップを実行するたびに、バックアップファイルのファイルサイズが大きくなることに気付く場合があります。
これは、連続する各バックアップが既存のファイルに自分自身を追加しているためです。これは、同じファイル名を使用していて、各バックアップで既存のファイルを上書きするように明示的に指定していないためです。
既存のファイルを上書きできるオプションがあります。
- SQLOPSGUIの使用 、詳細設定をクリックします 既存のメディアセットへのバックアップ 、既存のすべてのバックアップセットを上書きするを選択します 。
- SSMSGUIの使用 、メディアオプションをクリックします データベースのバックアップ の左側のメニュー ダイアログボックスで、既存のすべてのバックアップセットを上書きするを選択します。 上書きメディア セクション。
- SQLの使用
WITH INIT
を追加します SQLステートメントに。 - PowerShellの使用 、
-Initialize
コマンドに。
一意のファイル名の使用
ただし、多くの場合、一意のファイル名(通常はファイル名に日付を含む)を使用して完全バックアップを作成することをお勧めします。一意のファイル名を持つということは、各バックアップが別々のファイルになることを意味します。
また、データベースのサイズ、およびデータベースに入力される新しいデータの量によっては、完全バックアップを差分バックアップで補完することをお勧めします。差分バックアップは、最新の完全バックアップ以降に変更されたデータのみをキャプチャします。