protected override AzureSqlManagedDatabaseModel PersistChanges(AzureSqlManagedDatabaseModel entity)
 {
     ModelAdapter.StopManagedDatabaseLogReplay(entity);
     return(entity);
 }
Example #2
0
        /// <summary>
        /// Restore a given Sql Azure Managed Database
        /// </summary>
        /// <param name="resourceGroup">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="parameters">Parameters describing the managed database restore request</param>
        /// <returns>Restored database object</returns>
        public Management.Sql.Models.ManagedDatabase RestoreDatabase(string resourceGroupName, string managedInstanceName, string managedDatabaseName, string resourceId, AzureSqlManagedDatabaseModel model)
        {
            GenericResource resource = new GenericResource
            {
                Location   = model.Location,
                Properties = new Dictionary <string, object>
                {
                    { "sourceDatabaseId", resourceId },
                    { "createMode", model.CreateMode },
                    { "restorePointInTime", model.RestorePointInTime },
                    { "storageContainerUri", model.StorageContainerUri },
                    { "storageContainerSasToken", model.StorageContainerSasToken },
                }
            };

            GenericResource database = GetCurrentResourcesClient().Resources.CreateOrUpdate(resourceGroupName, "Microsoft.Sql", string.Format("managedInstances/{0}", managedInstanceName), "databases", managedDatabaseName, "2017-03-01-preview", resource);

            if (database != null)
            {
                return(GetCurrentSqlClient().ManagedDatabases.Get(resourceGroupName, managedInstanceName, managedDatabaseName));
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// Creates or updates an Azure Sql Managed Database.
        /// </summary>
        /// <param name="resourceGroup">The name of the resource group</param>
        /// <param name="managedInstanceName">The name of the Azure Sql Database Managed Instance</param>
        /// <param name="model">The input parameters for the create/update operation</param>
        /// <returns>The upserted Azure Sql Database from AutoRest SDK</returns>
        internal AzureSqlManagedDatabaseModel UpsertManagedDatabase(string resourceGroup, string managedInstanceName, AzureSqlManagedDatabaseModel model)
        {
            var resp = Communicator.CreateOrUpdate(resourceGroup, managedInstanceName, model.Name, new Management.Sql.Models.ManagedDatabase
            {
                Location  = model.Location,
                Tags      = model.Tags,
                Collation = model.Collation,
            });

            return(CreateManagedDatabaseModelFromResponse(resourceGroup, managedInstanceName, resp));
        }