Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Quitar servidores

La operación Quitar servidor quita un servidor Base de datos SQL de una suscripción.

Solicitud

La solicitud Quitar servidor debe especificarse como se indica a continuación. Reemplace <idDeSuscripción> por su identificador de suscripción y <nombreDeServidor> por el nombre del servidor que se va a quitar.

 

Método URI de solicitud Versión de HTTP

DELETE

https://management.database.windows.net:8443/<idDeSuscripción>/servers/<nombreDeServidor>

HTTP/1.1

Parámetros de URL

No se utilizan parámetros de URL con esta operación.

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

x-ms-version

Requerido Especifica la versión de la operación que se utiliza para esta solicitud. Este encabezado debe establecerse en 1.0.

Cuerpo de solicitud

La operación Quitar servidor no utiliza un cuerpo de solicitud.

Respuesta

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

Código de estado

Una operación Quitar servidor correcta devolverá el código de estado HTTP 200 (Correcto).

Entre los posibles errores de esta operación se incluyen los que se enumeran en la tabla siguiente.

 

Código de error Código de estado HTTP Mensaje de usuario

40638

Solicitud incorrecta (400)

Identificador de suscripción <idDeSuscripción> no válido. La suscripción no existe.

40640

Error interno del servidor (500)

El servidor encontró una excepción inesperada.

40642

Servicio no disponible (503)

El servidor está actualmente demasiado ocupado. Vuelva a intentarlo más tarde.

40643

Solicitud incorrecta (400)

El valor de encabezado x-ms-version especificado no es válido.

40644

Prohibido (403)

No se pudo autorizar el acceso a la suscripción especificada.

40645

Solicitud incorrecta (400)

El nombre del servidor <nombreDeServidor> no puede estar vacío ni ser nulo. Solo puede estar formado por letras en minúscula "a" a "z", números de 0 a 9 y el guion. El guion no puede estar al principio o al final del nombre.

40646

Solicitud incorrecta (400)

El identificador de suscripción no puede estar vacío.

40647

Solicitud incorrecta (400)

La suscripción <idDeSuscripción> no tiene servidor <nombreDeServidor>.

40648

Servicio no disponible (503)

Se han realizado demasiadas solicitudes. Vuelva a intentarlo más tarde.


Para obtener más información acerca de los códigos de estado para la API de administración de Base de datos SQL, vea Códigos de estado y de error.

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar son conformes a la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

x-ms-request-id

Valor que identifica de forma exclusiva una solicitud realizada ante el servicio de administración de bases de datos. Este identificador de solicitud se utiliza para el seguimiento de solicitudes. Si se produce un error que requiere que el usuario establezca contacto con el servicio de soporte técnico de Microsoft, debe proporcionarse a Microsoft el identificador de solicitud para recibir asistencia acerca del seguimiento y resolución del error de la solicitud.

La API de administración de Base de datos SQL no admite llamadas asincrónicas.

Cuerpo de respuesta

La operación Quitar servidor no devuelve un cuerpo de respuesta. El código de estado HTTP indica corrección o error.

Ejemplo de código

El código siguiente proporciona un ejemplo sencillo de llamada a esta operación desde una aplicación de consola de C#. En este código se utilizan las clases System.Net.HttpWebRequest y System.Security.Cryptography.X509Certificate2 para enviar la solicitud utilizando el certificado de clave privada.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.IO;
using System.Xml;

namespace SQLAzureDatabaseManagement
{
    class Program
    {

        static void Main(string[] args)
        {
            string certFile;
            string certPassword;
            string subscriptionId;
            string ServerName;

            if (args.Length != 4)
            {
                Console.WriteLine("\nInsufficient Arguments.\n");
                Console.WriteLine("Expected CertfilePath, CertPassword, SubscriptionID, and ServerName.\n");
                return;
            }
            else
            {
                certFile = args[0];
                certPassword = args[1];
                subscriptionId = args[2];
                ServerName = args[3];
            }



            //=========================================================================//
            //=== Execute SQL Database Server and Firewall Rules Management Operations ===//
            //=========================================================================//

            // Drop a server by name
            DropServer(certFile, certPassword, subscriptionId, ServerName);
        }


        //===============================================================================================================//
        //===                                                                                                         ===//
        //=== DropServer                                                                                              ===//
        //===                                                                                                         ===//
        //=== This function should drop the specified SQL Database server from the specified subscription.               ===//
        //===                                                                                                         ===//
        //=== Input Parameters:                                                                                       ===//
        //===                                                                                                         ===//
        //===   string certFilename : Full path to the Personal Information Exchange (.pfx) file which holds the      ===//
        //===                         private key for the certificate. The public key file must already be associated ===//
        //===                         to the subscription.                                                            ===//
        //===                                                                                                         ===//
        //===   string certPassword : The password of the Personal Information Exchange (.pfx) file.                  ===//
        //===                                                                                                         ===//
        //===   string subscriptionId : This is the subscription id GUID in its string form.                          ===//
        //===                                                                                                         ===//
        //===   string Server : The SQL Database server that will be dropped from the subscription.                      ===//
        //===                                                                                                         ===//
        //=== Output:                                                                                                 ===//
        //===                                                                                                         ===//
        //===   The output of this function is written to the console. The output includes:                           ===//
        //===                                                                                                         ===//
        //===     The subscription id passed to this function.                                                        ===//
        //===                                                                                                         ===//
        //===     The server name passed to this function.                                                            ===//
        //===                                                                                                         ===//
        //===     The x-ms-request-id header returned from the REST API call.                                         ===//
        //===                                                                                                         ===//
        //===     The HTTP Status code returned from the REST API call.                                               ===//
        //===                                                                                                         ===//
        //===     The exception/error encountered during the REST API call.                                           ===//
        //===                                                                                                         ===//
        //===============================================================================================================//

        static void DropServer(string certFilename, string certPassword, string subscriptionId, string Server)
        {

            Console.WriteLine("\n===========================");
            Console.WriteLine("=== Drop Server Request ===");
            Console.WriteLine("===========================\n");
            Console.WriteLine("Subscription : {0}", subscriptionId);
            Console.WriteLine("Server : {0}\n", Server);

            try
            {
                string url = string.Format("https://management.database.windows.net:8443/{0}/servers/{1}", subscriptionId, Server);
                HttpWebRequest webRequest = HttpWebRequest.Create(url) as HttpWebRequest;

                webRequest.ClientCertificates.Add(new X509Certificate2(certFilename, certPassword));
                webRequest.Headers["x-ms-version"] = "1.0";
                webRequest.Method = "DELETE";

                //=== No Request Payload needed to return drop the server ===//

                using (WebResponse webResponse = webRequest.GetResponse())
                {
                    //=== x-ms-request-id is useful for troubleshooting request failures with Microsoft ===//
                    Console.WriteLine("Response x-ms-request-id : {0}", webResponse.Headers["x-ms-request-id"]);
                    Console.WriteLine("HttpStatusCode = {0}\n", (int)((HttpWebResponse)webResponse).StatusCode);

                    using (Stream stream = webResponse.GetResponseStream())
                    {
                        using (StreamReader sr = new StreamReader(stream))
                        {
                            Console.WriteLine(sr.ReadToEnd());
                        }
                    }
                }
            }


            //====================================================================================//
            //=== Catch WebExceptions. The SQL Database Management Service will          ===//
            //=== provide detailed error information in the response stream for WebExceptions. ===//
            //====================================================================================//

            catch (WebException webEx)
            {
                HttpWebResponse errorResponse = (HttpWebResponse)webEx.Response;
                Console.WriteLine(string.Format("HttpStatusCode = {0}", (int)errorResponse.StatusCode));

                try
                {
                    using (Stream errorResponseStream = errorResponse.GetResponseStream())
                    {
                        using (StreamReader sr = new StreamReader(errorResponseStream))
                        {
                            Console.WriteLine(sr.ReadToEnd());
                        }
                    }
                }
                catch (Exception innerEx)
                {
                    Console.WriteLine(innerEx.ToString());
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString() + "\n");
            }
        }

    }
}


Crear el código de ejemplo

El código de ejemplo se puede agregar a un proyecto de aplicación de consola e integrar en el entorno de desarrollo integrado (IDE) de Visual Studio, o bien puede compilar desde la línea de comandos de un símbolo del sistema utilizando el compilador de Visual C# que también se incluye con .NET Framework.

En esta compilación que se muestra más abajo, el código se copió en un nuevo archivo de texto denominado DropServer.cs y se compiló desde la línea de comandos. Esta compilación también genera información de depuración.

C:\Test>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc /debug /out:DropServer.exe DropServer.cs

Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
Copyright (C) Microsoft Corporation. All rights reserved.


C:\Test>dir
 Volume in drive C has no label.
 Volume Serial Number is 5471-ED89

 Directory of C:\Test

02/15/2011  02:36 PM    <DIR>          .
02/15/2011  02:36 PM    <DIR>          ..
02/15/2011  02:36 PM             6,144 DropServer.exe
02/15/2011  02:36 PM            13,824 DropServer.pdb

Ejecutar el código de ejemplo

En el ejemplo siguiente se ejecuta el código de ejemplo utilizando el certificado de clave privada MyCert.pfx para la autenticación. El certificado de clave pública (MyCert.cer) ya se ha agregado a la suscripción. Para obtener más información acerca de la autenticación, vea Autenticar solicitudes de API de administración de Base de datos SQL de Windows Azure.

El identificador único global 2eae7c21-ffd1-49e4-ac22-39095e0b9f02 es un identificador de suscripción de ejemplo de Windows Azure. Esta suscripción ya tiene aprovisionado un servidor Base de datos SQL denominado l1ej7qgrem desde la ubicación "North Central US". El comando que se muestra a continuación envía una solicitud para quitar ese servidor de la suscripción. El código de estado HTTP 200 es un código de respuesta correcta que indica que la operación se ha realizado correctamente.

C:\Test>DropServer C:\SecureStore\MyCert.pfx MyCertPassword 2eae7c21-ffd1-49e4-ac22-39095e0b9f02 l1ej7qgrem

===========================
=== Drop Server Request ===
===========================

Subscription : 2eae7c21-ffd1-49e4-ac22-39095e0b9f02
Server : l1ej7qgrem

Response x-ms-request-id : 581b9ee5-1a99-449e-92d4-a55766a12a57
HttpStatusCode = 200

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

Mostrar:
© 2014 Microsoft. Reservados todos los derechos.