SQL Serverは、データベースのバックアップを作成する簡単な方法を提供します。バックアップは、Transact-SQL、PowerShell、またはSQL Server ManagementStudioGUIを介して実行できます。
ここでは、SQL Server Management System GUIを使用してバックアップを作成し、次にTransact-SQLを使用して、最後にSQLServerPowershellを使用してバックアップを作成する方法を示します。
GUIを介してバックアップを作成する
-
データベースのバックアップ を起動します ダイアログボックス
オブジェクトエクスプローラーで、バックアップするデータベースを右クリックし、[タスク>バックアップ...]を選択します。 コンテキストメニューから。
-
バックアップ設定を確認する
このダイアログボックスでは、必要に応じて設定を変更できます。
この例では、デフォルト設定のままにして、 OKをクリックします。 バックアップを作成します。
前の手順で誤って間違ったデータベースを選択した場合は、ここでデータベースを変更できます。
-
バックアップ完了
バックアップが完了するとメッセージが表示されます。
OKをクリックします メッセージとダイアログボックスを閉じます。
これで、バックアップファイルは指定された場所に配置されます。
Transact-SQLを使用してデータベースをバックアップする
-
SQLを使用して、上記と同じバックアップを実行できます。
これを行うには、新しいクエリウィンドウを開き、
BACKUP
を実行します。 ステートメント。BACKUP
ステートメントはさまざまなオプションを受け入れますが(GUIオプションと同様)、最小限のコードで簡単なバックアップを実行することもできます。サンプルコード
以下は、バックアップするデータベースとバックアップ先の場所を指定する簡単なバックアップスクリプトの例です。
このコードを実行すると、バックアップファイルは指定された場所に配置されます。
BACKUP DATABASE Music TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';
BACKUP
の完全な構文を確認できます MicrosoftのWebサイトでの声明。
PowerShellを使用してデータベースをバックアップする
SQL Server 2016は、スクリプトシェルであるWindows PowerShellをサポートしており、通常、管理および展開タスクを自動化するために使用されます。
PowerShell言語は、Transact-SQLスクリプトよりも複雑なロジックをサポートしているため、バックアップやその他のタスク用に、より高度なスクリプトを作成できます。
-
PowerShellを開く
データベースを右クリックして、 Start Powershellを選択します。 。
-
バックアップコマンドを実行する
バックアップを作成するコマンドを入力し、 Enterを押します。 (または Return 、キーボードによって異なります)。
バックアップはすぐに実行されます。
サンプルコード
次のコードは、前の例と同じようにバックアップを作成します。
MyServer
を置き換えるだけです サーバーの名前で。このコードを実行すると、バックアップファイルはデフォルトの場所に配置されます。
Backup-SqlDatabase -ServerInstance MyServer -Database Music
場所を指定することもできます
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'
-BackupAction Database
を指定することもできます 完全バックアップであることを明示的に示すため。ただし、これはデフォルトのオプションです。Backup-SqlDatabase
の完全なドキュメントを確認できます MicrosoftのWebサイトでコマンドを実行します。
バックアップファイルの上書き
上記のすべての例をそのまま実行すると、実行するたびにバックアップファイルのファイルサイズが大きくなることに気付いたかもしれません。
これは、連続する各バックアップが既存のファイルに自分自身を追加しているためです。
これは、同じファイル名を使用しており、各バックアップで既存のファイルを上書きするように明示的に指定していないためです。
既存のファイルを上書きできるオプションがあります。
- GUIの使用 、メディアオプションをクリックします データベースのバックアップ の左側のメニュー ダイアログボックスで、既存のすべてのバックアップセットを上書きするを選択します。 上書きメディア セクション。
- SQLの使用
WITH INIT
を追加します SQLステートメントに。 - PowerShellの使用 、
-Initialize
コマンドに。
バックアップファイルの保存
ただし、多くの場合、一意のファイル名(通常はファイル名に日付を含む)を使用して完全バックアップを作成することをお勧めします。一意のファイル名を持つということは、各バックアップが別々のファイルになることを意味します。
また、データベースのサイズ、およびデータベースに入力される新しいデータの量によっては、完全バックアップを差分バックアップで補完することをお勧めします。差分バックアップは、最新の完全バックアップ以降に変更されたデータのみをキャプチャします。