protected override OrganizationBackupRuntimeData ExecuteInternal(OrganizationBackupRuntimeData runtimeData, Guid orgId, Guid backupId, Guid queueItemId) { Guid orgScaleGroupId = LocatorService.Instance.GetOrganizationScaleGroupId(orgId); // full backup CrmOrganizationBackupData backupData = SqlBackupRestoreUtility.ExecuteBackupSqlCommand(orgId, orgScaleGroupId); // update backup path and log path in runtime data runtimeData.BackupPath = backupData.BackupPathOnShare; runtimeData.LogPath = backupData.LogPathOnShare; QueueManager.NewManager().UpdateQueueItemRuntimeData(queueItemId, OrganizationBackupRuntimeData.Serialize(runtimeData)); return(runtimeData); }
protected override OrganizationBackupRuntimeData ExecuteInternal(OrganizationBackupRuntimeData runtimeData, Guid orgId, Guid backupId, Guid queueItemId) { Exceptions.ThrowIfNullOrEmpty(runtimeData.BackupPath, "runtimeData.BackupPath"); string orgUniqueName = LocatorService.Instance.GetOrganizationName(orgId); // retrieve restore sql server name and generate restored db name if (string.IsNullOrEmpty(runtimeData.RestoreSqlServerName) || string.IsNullOrEmpty(runtimeData.RestoredDBName)) { runtimeData.RestoreSqlServerName = RetrieveRestoreSqlServer(); runtimeData.RestoredDBName = orgUniqueName + "_" + Guid.NewGuid().ToString(); } // update run time data with RestoreSqlServerName and RestoredDBName QueueManager.NewManager().UpdateQueueItemRuntimeData(queueItemId, OrganizationBackupRuntimeData.Serialize(runtimeData)); // restore SqlBackupRestoreUtility.ExecuteRestoreSqlCommand(runtimeData.RestoreSqlServerName, runtimeData.RestoredDBName, runtimeData.BackupPath, null); return(runtimeData); }
protected static void UpdateRuntimeData(Guid queueItemId, OrganizationBackupRuntimeData runtimeData) { QueueManager.NewManager().UpdateQueueItemRuntimeData(queueItemId, OrganizationBackupRuntimeData.Serialize(runtimeData)); }