2016-09-30 3 views
0

SQL 데이터베이스를 백업하고 복원하는 스크립트를 만들었습니다. 나는 최근 Azure SQL Server로 옮겼다. 내 백업 전략이 더 이상 작동하지 않습니다. 내 프로그램의 경우 일반적으로 백업을 저장하고 교육이라는 접미어로 새 백업을 만듭니다. 그것은 Azure SQL Server 백업 전략이 완전히 다른 것 같습니다. 프로그래밍 방식으로 Azure SQL db를 백업하고 복원하는 방법을 묻습니다.프로그래밍 방식으로 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

는 최근 단지 푸른 SQL Server에 움직였다. 더 이상 아래에있는 내 백업 전략은 당신이 관찰 무엇

가 올바른 작동, 백업 전략은 .. 푸른에서는 작동하지 않습니다

백업의 단지 OnPremises처럼 복원 ​​시간에 지점을 보장하기 위해 필요한 경우, 돈 당신이 시간에 지점이 계층에 따라 기능은 일정한를 복원 얻을 수 하늘빛을 사용하기 때문에 당신이 테스트/다른 purposes..you에 대한 로컬 서버에 데이터베이스를 복원하고자하는 경우 '는 t는

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/

관련 문제