/// <summary> /// Creates a new server in the current subscription. /// </summary> /// <param name="adminLogin"> /// The administrator login name for the new server. /// </param> /// <param name="adminLoginPassword"> /// The administrator login password for the new server. /// </param> /// <param name="location"> /// The location in which to create the new server. /// </param> /// <returns>The context to the newly created server.</returns> internal SqlDatabaseServerContext NewAzureSqlDatabaseServerProcess( string adminLogin, string adminLoginPassword, string location, float?version) { // Do nothing if force is not specified and user cancelled the operation if (!Force.IsPresent && !ShouldProcess( Resources.NewAzureSqlDatabaseServerDescription, Resources.NewAzureSqlDatabaseServerWarning, Resources.ShouldProcessCaption)) { return(null); } // Get the SQL management client for the current subscription SqlManagementClient sqlManagementClient = GetCurrentSqlClient(); // Set the retry policty to not retry attempts. CloudExtensions.SetRetryPolicy <SqlManagementClient>( sqlManagementClient, new WindowsAzure.Common.TransientFaultHandling.RetryPolicy(new WindowsAzure.Common.TransientFaultHandling.DefaultHttpErrorDetectionStrategy(), 0)); // Issue the create server request ServerCreateResponse response = sqlManagementClient.Servers.Create( new ServerCreateParameters() { Location = location, AdministratorUserName = adminLogin, AdministratorPassword = adminLoginPassword, Version = version.HasValue ? version.Value.ToString("F1") : null }); SqlDatabaseServerContext operationContext = new SqlDatabaseServerContext() { OperationStatus = Services.Constants.OperationSuccess, OperationDescription = CommandRuntime.ToString(), OperationId = response.RequestId, ServerName = response.ServerName, Location = location, AdministratorLogin = adminLogin, }; return(operationContext); }