2016-09-30 9 views
0

私はSQLデータベースをバックアップして復元するためのスクリプトを作成しました。私は最近、Azure SQL Serverに移動しました。私のバックアップ戦略はもはや機能しません。私のプログラムでは、通常、バックアップを保存して、トレーニングと呼ばれる接尾辞付きの新しいバックアップを作成します。それはAzure SQL Serverのバックアップ戦略が完全に異なるようです。プログラムでAzure DBをバックアップして復元する方法を尋ねてもいいですか?私は最近ちょうどAzureのSQL Serverに移動しプログラムでバックアップAzure Sql db

if (!sqlServer.Databases.Contains(databaseTraining)) 
{ 
var backupFile = string.Concat(sqlServer.Settings.BackupDirectory, "\\", database, "Training.BAK"); 

var sourceBackup = new Backup 
{ 
    Database = database, 
    Action = BackupActionType.Database 
}; 

var destDevice = new BackupDeviceItem(backupFile, DeviceType.File); 
sourceBackup.Devices.Add(destDevice); 
sourceBackup.Initialize = true; 

sourceBackup.SqlBackup(sqlServer); 

var db = new Microsoft.SqlServer.Management.Smo.Database(sqlServer, databaseTraining); 
db.Create(); 

var destinationRestore = new Restore 
{ 
    Database = databaseTraining, 
    Action = RestoreActionType.Database 
}; 
destinationRestore.Devices.Add(destDevice); 

var dataFile = new RelocateFile 
{ 
    LogicalFileName = destinationRestore.ReadFileList(sqlServer).Rows[0][0].ToString(), 
    PhysicalFileName = sqlServer.Databases[databaseTraining].FileGroups[0].Files[0].FileName 
}; 

var logFile = new RelocateFile 
{ 
    LogicalFileName = destinationRestore.ReadFileList(sqlServer).Rows[1][0].ToString(), 
    PhysicalFileName = sqlServer.Databases[databaseTraining].LogFiles[0].FileName 
}; 

destinationRestore.RelocateFiles.Add(dataFile); 
destinationRestore.RelocateFiles.Add(logFile); 

destinationRestore.ReplaceDatabase = true; 
destinationRestore.NoRecovery = false; 

destinationRestore.SqlRestore(sqlServer); 
+0

それは異なっている:MSあなたがバックアップをしないでください。 Azure SQL Serverでは、[BACKUP](https://msdn.microsoft.com/en-us/library/ms186865.aspx?f=255&MSPPError=-2147217396)コマンドは使用できません。 – Richard

+0

SQL Azureの場合、[CloudBerry](http://www.cloudberrylab.com/)、[RedGate's CherrySafe](https://www.cherrysafe.com/)などのプロフェッショナルバックアップサービスを参照することをお勧めします。 – Win

答えて

0

。もはや下記の私のバックアップ戦略は、あなたが観察し何

が正しい動作しますが、バックアップ戦略は... Azureのでは動作しません

バックアップのがちょうどOnPremisesのように復元する時点を確実にするために必要な場合は、あなたドンあなたは、テスト/その他purposes..youのためにローカルサーバー上のデータベースを復元することができます探している場合は「トンは...あなたの階層に基づいてcapabiltiesを復元紺碧を使用しているので、あなたが時間内にポイントを得ることができることを

enter image description here

が必要以下のリンクを使用してください。

1)How do I copy SQL Azure database to my local development server?

2)https://blogs.msdn.microsoft.com/mast/2013/03/03/different-ways-to-backup-your-windows-azure-sql-database/

関連する問題