私は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);
それは異なっている:MSあなたがバックアップをしないでください。 Azure SQL Serverでは、[BACKUP](https://msdn.microsoft.com/en-us/library/ms186865.aspx?f=255&MSPPError=-2147217396)コマンドは使用できません。 – Richard
SQL Azureの場合、[CloudBerry](http://www.cloudberrylab.com/)、[RedGate's CherrySafe](https://www.cherrysafe.com/)などのプロフェッショナルバックアップサービスを参照することをお勧めします。 – Win