/// <summary> /// Set backup input properties /// </summary> /// <param name="input"></param> public void SetBackupInput(BackupInfo input) { this.backupInfo = input; // convert the types this.backupComponent = (BackupComponent)input.BackupComponent; this.backupType = (BackupType)input.BackupType; this.backupDeviceType = (BackupDeviceType)input.BackupDeviceType; if (this.backupRestoreUtil.IsHADRDatabase(this.backupInfo.DatabaseName)) { this.isLocalPrimaryReplica = this.backupRestoreUtil.IsLocalPrimaryReplica(this.backupInfo.DatabaseName); } }
public ArrayList GetBackupSetPhysicalSources(int backupsetId) { SqlExecutionModes executionMode = this.sqlConnection.SqlExecutionModes; this.sqlConnection.SqlExecutionModes = SqlExecutionModes.ExecuteSql; ArrayList sources = new ArrayList(); DataSet backupSet = GetBackupSetById(backupsetId); if (backupSet.Tables[0].Rows.Count == 1) { string mediaSetID = Convert.ToString(backupSet.Tables[0].Rows[0]["MediaSetId"], System.Globalization.CultureInfo.InvariantCulture); Enumerator en = new Enumerator(); Request req = new Request(); DataSet mediafamily = new DataSet(); mediafamily.Locale = System.Globalization.CultureInfo.InvariantCulture; req.Urn = "Server/BackupMediaSet[@ID='" + Urn.EscapeString(mediaSetID) + "']/MediaFamily"; mediafamily = en.Process(this.sqlConnection, req); if (mediafamily.Tables[0].Rows.Count > 0) { for (int j = 0; j < mediafamily.Tables[0].Rows.Count; j++) { RestoreItemSource itemSource = new RestoreItemSource(); itemSource.RestoreItemLocation = Convert.ToString(mediafamily.Tables[0].Rows[j]["PhysicalDeviceName"], System.Globalization.CultureInfo.InvariantCulture); BackupDeviceType backupDeviceType = (BackupDeviceType)Enum.Parse(typeof(BackupDeviceType), mediafamily.Tables[0].Rows[j]["BackupDeviceType"].ToString()); if (BackupDeviceType.Disk == backupDeviceType) { itemSource.RestoreItemDeviceType = DeviceType.File; } else if (BackupDeviceType.Url == backupDeviceType) { itemSource.RestoreItemDeviceType = DeviceType.Url; } else { itemSource.RestoreItemDeviceType = DeviceType.Tape; } sources.Add(itemSource); } } } this.sqlConnection.SqlExecutionModes = executionMode; return(sources); }
public BackupDeviceType GetPhisycalDeviceTypeOfLogicalDevice(string deviceName) { Enumerator enumerator = new Enumerator(); Request request = new Request(); DataSet dataset = new DataSet(); dataset.Locale = System.Globalization.CultureInfo.InvariantCulture; request.Urn = "Server/BackupDevice[@Name='" + Urn.EscapeString(deviceName) + "']"; dataset = enumerator.Process(this.sqlConnection, request); if (dataset.Tables[0].Rows.Count > 0) { BackupDeviceType controllerType = (BackupDeviceType)(Convert.ToInt16(dataset.Tables[0].Rows[0]["BackupDeviceType"], System.Globalization.CultureInfo.InvariantCulture)); return(controllerType); } else { throw new Exception("Unexpected error"); } }