T-SQLコマンドを使用してネットワーク経由でデータベースバックアップを復元する
SQL Serverデータベースのネットワーク経由バックアップ復元
SQL Server Management Studio (SSMS)を使用する
SSMSは、SQL Serverデータベースを管理するためのGUIツールです。SSMSを使用してネットワーク経由でデータベースバックアップを復元するには、以下の手順を実行します。
- SSMSを起動し、復元したいデータベースのサーバーに接続します。
- オブジェクトエクスプローラーで、データベースフォルダを展開します。
- 復元したいデータベースを右クリックし、タスク > 復元を選択します。
- データベースの復元ダイアログボックスで、ソースタブを選択します。
- バックアップデバイスで、ネットワークを選択します。
- ネットワーク共有ボックスに、バックアップファイルの共有フォルダのパスを入力します。
- ファイル名ボックスに、バックアップファイルの名前を入力します。
- オプションタブを選択します。
- 復元オプションで、復元したいデータベースの状態を選択します。
- OKをクリックします。
T-SQLコマンドを使用してネットワーク経由でデータベースバックアップを復元するには、以下のコマンドを実行します。
RESTORE DATABASE database_name
FROM DATABASE_SNAPSHOT = snapshot_name
WITH NORECOVERY
GO
RESTORE DATABASE database_name
FROM DISK = '\\network_share\backup_file.bak'
WITH NORECOVERY
GO
コマンド解説
database_name
: 復元したいデータベースの名前snapshot_name
: 復元したいスナップショットの名前\\network_share\backup_file.bak
: バックアップファイルのネットワークパスWITH NORECOVERY
: データベースを復元後、トランザクションログを適用せずに復元する
その他の方法
上記以外にも、以下の方法でネットワーク経由でデータベースバックアップを復元することができます。
- PowerShellを使用する
- サードパーティ製ツールを使用する
注意事項
- ネットワーク経由でデータベースバックアップを復元するには、ネットワーク共有のアクセス権限が必要です。
- バックアップファイルの容量が大きい場合は、復元に時間がかかる場合があります。
- 復元前に、データベースのバックアップが完全であることを確認してください。
USE master
GO
RESTORE DATABASE AdventureWorks2019
FROM DATABASE_SNAPSHOT = 'Full Backup'
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks2019
FROM DISK = '\\network_share\AdventureWorks2019_backup.bak'
WITH NORECOVERY
GO
USE master
GO
RESTORE DATABASE AdventureWorks2019
FROM DATABASE_SNAPSHOT = 'Full Backup'
WITH NORECOVERY
GO
RESTORE DATABASE AdventureWorks2019
FROM DISK = '\\network_share\AdventureWorks2019_backup.bak'
WITH NORECOVERY
GO
- 上記のサンプルコードは、AdventureWorks2019データベースを復元する例です。
- 実際の環境に合わせて、データベース名、スナップショット名、バックアップファイルのパスなどを変更してください。
- SMOアセンブリをプロジェクトに追加します。
- SqlConnectionオブジェクトを作成して、復元したいデータベースのサーバーに接続します。
- Serverオブジェクトを作成します。
- RestoreDatabaseオブジェクトを作成します。
- RestoreDatabaseオブジェクトのSourceプロパティを、ネットワーク上のバックアップファイルのパスに設定します。
- RestoreDatabaseオブジェクトのDatabaseNameプロパティを、復元したいデータベースの名前
- RestoreDatabaseオブジェクトのOptionsプロパティを、復元オプションに設定します。
- RestoreDatabaseオブジェクトのBeginRestore()メソッドを実行します。
Import-Module SqlServer
Restore-Database -DatabaseName database_name -Source '\\network_share\backup_file.bak'
Redgate SQL BackupやApexSQL Backupなどのサードパーティ製ツールを使用して、ネットワーク経由でデータベースバックアップを復元することができます。これらのツールは、GUIを使用してデータベースバックアップを復元することができ、初心者でも簡単に操作することができます。
- 上記の方法を使用する前に、それぞれの方法の詳細な手順を確認してください。
sql-server database sql-server-2005