Example #1
0
        /// <summary>
        /// Creates a new sql database.
        /// </summary>
        /// <param name="databaseName">The name for the new database</param>
        /// <param name="databaseMaxSizeInGB">The maximum size of the new database</param>
        /// <param name="databaseCollation">The collation for the new database</param>
        /// <param name="databaseEdition">The edition for the new database</param>
        /// <returns>The newly created Sql Database</returns>
        public Database CreateNewDatabase(
            string databaseName,
            int?databaseMaxSizeInGB,
            string databaseCollation,
            DatabaseEdition databaseEdition,
            ServiceObjective serviceObjective)
        {
            this.clientRequestId = SqlDatabaseCmdletBase.GenerateClientTracingId();

            // Get the SQL management client
            SqlManagementClient sqlManagementClient = this.subscription.CreateClient <SqlManagementClient>();

            this.AddTracingHeaders(sqlManagementClient);

            // Create the database
            DatabaseCreateResponse response = sqlManagementClient.Databases.Create(
                this.serverName,
                new DatabaseCreateParameters()
            {
                Name    = databaseName,
                Edition = databaseEdition != DatabaseEdition.None ?
                          databaseEdition.ToString() : DatabaseEdition.Web.ToString(),
                CollationName           = databaseCollation ?? string.Empty,
                MaximumDatabaseSizeInGB = databaseMaxSizeInGB ??
                                          (databaseEdition == DatabaseEdition.Business || databaseEdition == DatabaseEdition.Premium ? 10 : 1),
                ServiceObjectiveId = serviceObjective != null ? serviceObjective.Id.ToString() : null,
            });

            // Construct the resulting Database object
            Database database = CreateDatabaseFromResponse(response);

            return(database);
        }
Example #2
0
 /// <summary>
 /// Given a <see cref="DatabaseCreateResponse"/> this will create and return a <see cref="Database"/>
 /// object with the fields filled in.
 /// </summary>
 /// <param name="response">The response to turn into a <see cref="Database"/></param>
 /// <returns>a <see cref="Database"/> object.</returns>
 private Database CreateDatabaseFromResponse(DatabaseCreateResponse response)
 {
     return(this.CreateDatabaseFromResponse(
                response.Id,
                response.Name,
                response.CreationDate,
                response.Edition,
                response.CollationName,
                response.MaximumDatabaseSizeInGB,
                response.IsFederationRoot,
                response.IsSystemObject,
                response.SizeMB,
                response.ServiceObjectiveAssignmentErrorCode,
                response.ServiceObjectiveAssignmentErrorDescription,
                response.ServiceObjectiveAssignmentState,
                response.ServiceObjectiveAssignmentStateDescription,
                response.ServiceObjectiveAssignmentSuccessDate,
                response.ServiceObjectiveId));
 }