示例#1
0
        /// <summary>
        /// Start the managed database log replay
        /// </summary>
        /// <param name="parameters">The parameters for log replay</param>
        public void StartManagedDatabaseLogReplay(AzureSqlManagedDatabaseModel parameters)
        {
            var model = new Management.Sql.Models.ManagedDatabase()
            {
                Location                 = parameters.Location,
                Collation                = parameters.Collation,
                AutoCompleteRestore      = parameters.AutoCompleteRestore,
                LastBackupName           = parameters.LastBackupName,
                CreateMode               = CreateMode.RestoreExternalBackup,
                StorageContainerUri      = parameters.StorageContainerUri,
                StorageContainerSasToken = parameters.StorageContainerSasToken
            };

            Communicator.StartLogReplay(parameters.ResourceGroupName, parameters.ManagedInstanceName, parameters.Name, model);
        }
        /// <summary>
        /// Restore a given Sql Azure Managed Database
        /// </summary>
        /// <param name="model">An object modeling the database to create via restore</param>
        /// <returns>Restored database object</returns>
        internal AzureSqlManagedDatabaseModel RestoreManagedDatabase(AzureSqlManagedDatabaseModel model)
        {
            var dbModel = new Management.Sql.Models.ManagedDatabase()
            {
                Location                    = model.Location,
                CreateMode                  = model.CreateMode,
                RestorePointInTime          = model.RestorePointInTime,
                RecoverableDatabaseId       = model.RecoverableDatabaseId,
                RestorableDroppedDatabaseId = model.RestorableDroppedDatabaseId,
                SourceDatabaseId            = model.SourceDatabaseId,
            };

            Management.Sql.Models.ManagedDatabase database = Communicator.RestoreDatabase(model.ResourceGroupName, model.ManagedInstanceName, model.Name, dbModel);

            return(new AzureSqlManagedDatabaseModel(model.ResourceGroupName, model.ManagedInstanceName, database));
        }
 /// <summary>
 /// Construct AzureSqlManagedDatabaseModel object
 /// </summary>
 /// <param name="resourceGroup">Resource group</param>
 /// <param name="managedInstanceName">Managed Instance name</param>
 /// <param name="database">Managed Database object</param>
 public AzureSqlManagedDatabaseModel(string resourceGroup, string managedInstanceName, Management.Sql.Models.ManagedDatabase database)
 {
     ResourceGroupName   = resourceGroup;
     ManagedInstanceName = managedInstanceName;
     Location            = database.Location;
     Id                          = database.Id;
     Name                        = database.Name;
     Tags                        = TagsConversionHelper.CreateTagDictionary(TagsConversionHelper.CreateTagHashtable(database.Tags), false);
     Collation                   = database.Collation;
     Status                      = database.Status;
     CreationDate                = database.CreationDate.Value;
     EarliestRestorePoint        = database.EarliestRestorePoint;
     RestorePointInTime          = database.RestorePointInTime;
     DefaultSecondaryLocation    = database.DefaultSecondaryLocation;
     CatalogCollation            = database.CatalogCollation;
     CreateMode                  = database.CreateMode;
     StorageContainerUri         = database.StorageContainerUri;
     StorageContainerSasToken    = database.StorageContainerSasToken;
     SourceDatabaseId            = database.SourceDatabaseId;
     FailoverGroupId             = database.FailoverGroupId;
     RecoverableDatabaseId       = database.RecoverableDatabaseId;
     RestorableDroppedDatabaseId = database.RestorableDroppedDatabaseId;
 }
 /// <summary>
 /// Converts the response from the service to a powershell managed database object
 /// </summary>
 /// <param name="resourceGroup">The resource group the managed instance is in</param>
 /// <param name="managedInstanceName">The name of the Azure Sql Database Managed Instance</param>
 /// <param name="database">The service response</param>
 /// <returns>The converted model</returns>
 public static AzureSqlManagedDatabaseModel CreateManagedDatabaseModelFromResponse(string resourceGroup, string managedInstanceName, Management.Sql.Models.ManagedDatabase managedDatabase)
 {
     return(new AzureSqlManagedDatabaseModel(resourceGroup, managedInstanceName, managedDatabase));
 }
        /// <summary>
        /// Restore a given Sql Azure Managed Database
        /// </summary>
        /// <param name="resourceId">The resource ID of the DB to restore (live, geo backup, deleted database, long term retention backup, etc.)</param>
        /// <param name="model">An object modeling the database to create via restore</param>
        /// <returns>Restored database object</returns>
        internal AzureSqlManagedDatabaseModel RestoreManagedDatabase(string resourceId, AzureSqlManagedDatabaseModel model)
        {
            Management.Sql.Models.ManagedDatabase database = Communicator.RestoreDatabase(model.ResourceGroupName, model.ManagedInstanceName, model.Name, resourceId, model);

            return(new AzureSqlManagedDatabaseModel(model.ResourceGroupName, model.ManagedInstanceName, database));
        }
 /// <summary>
 /// Creates or updates a managed database
 /// </summary>
 public Management.Sql.Models.ManagedDatabase CreateOrUpdate(string resourceGroupName, string managedInstanceName, string databaseName, Management.Sql.Models.ManagedDatabase parameters)
 {
     return(GetCurrentSqlClient().ManagedDatabases.CreateOrUpdate(resourceGroupName, managedInstanceName, databaseName, parameters));
 }
 /// <summary>
 /// Starts log replay restore execution.
 /// </summary>
 /// <param name="resourceGroupName">The name of the resource group</param>
 /// <param name="managedInstanceName">The name of the Azure SQL Managed Instance</param>
 /// <param name="databaseName">The name of the Azure SQL Managed database</param>
 /// <param name="model">Model describing the managed database log replay request</param>
 public Management.Sql.Models.ManagedDatabase StartLogReplay(string resourceGroupName, string managedInstanceName, string databaseName, Management.Sql.Models.ManagedDatabase model)
 {
     return(GetCurrentSqlClient().ManagedDatabases.CreateOrUpdate(
                resourceGroupName,
                managedInstanceName,
                databaseName,
                model));
 }