Exporter (0) Imprimer
Développer tout

Suppression de serveurs

L'opération Drop Server supprime un serveur Base de données SQL d'un abonnement.

Demande

La demande Drop Server doit être spécifiée comme suit. Remplacez <ID_abonnement> par votre ID d'abonnement et <nom_serveur> par le nom du serveur à supprimer.

 

Méthode URI de demande Version HTTP

DELETE

https://management.database.windows.net:8443/<ID_abonnement>/servers/<nom_serveur>

HTTP/1.1

Paramètres URL

Aucun paramètre URL n'est utilisé avec cette opération.

En-têtes de demande

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

x-ms-version

Obligatoire. Spécifie la version de l'opération à utiliser pour cette demande. Cet en-tête doit être défini avec la valeur 1.0.

Corps de la demande

L'opération Drop Server n'utilise pas de corps de demande.

Réponse

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Code d'état

Une opération Drop Server ayant réussi retourne le code d'état HTTP 200 (succès).

Les erreurs potentielles de cette opération incluent les erreurs répertoriées dans le tableau suivant.

 

Code d'erreur Code d'état HTTP Message utilisateur

40638

Requête incorrecte (400)

ID d'abonnement <ID_abonnement> non valide. L'abonnement n'existe pas.

40640

Erreur interne au serveur (500)

Le serveur a rencontré une erreur inattendue.

40642

Service non disponible (503)

Le serveur est trop occupé. Réessayez plus tard.

40643

Requête incorrecte (400)

La valeur spécifiée de l'en-tête x-ms-version n'est pas valide.

40644

Interdit (403)

Échec de l'autorisation d'accès à l'abonnement spécifié.

40645

Requête incorrecte (400)

Le nom de serveur <nom_serveur> ne peut pas être vide ou avoir une valeur null. Il ne peut être composé que des lettres minuscules « a » à « z », des chiffres 0 à 9 et du trait d'union (-). Le nom ne peut pas commencer ou finir par le trait d'union.

40646

Requête incorrecte (400)

L'ID d'abonnement ne peut pas être vide.

40647

Requête incorrecte (400)

L'abonnement <ID_abonnement> n'a pas de serveur <nom_serveur>.

40648

Service non disponible (503)

Trop de demandes ont été exécutées. Veuillez réessayer ultérieurement.


Pour plus d'informations sur les codes d'état de l'API Management de Base de données SQL, consultez Codes d'état et codes d'erreur.

En-têtes de réponse

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard se conforment à la spécification du protocole HTTP/1.1.

 

En-tête de réponse Description

x-ms-request-id

Valeur qui identifie de façon unique une demande par rapport au service de gestion de la base de données. Cet identifiant de demande est utilisé pour le suivi des demandes. S'il se produit un échec qui nécessite que l'utilisateur contacte le support technique Microsoft, l'ID de demande doit être communiqué à Microsoft pour faciliter le suivi et résoudre l'échec de la demande.

L'API Management de Base de données SQL ne prend pas en charge les appels asynchrones.

Corps de la réponse

L'opération Drop Server ne renvoie pas de corps de réponse. Le code d'état HTTP indique le succès ou l'échec.

Exemple de code

Le code suivant montre un exemple simple d'appel de cette opération depuis une application de console C#. Le code utilise les classes System.Net.HttpWebRequest et System.Security.Cryptography.X509Certificate2 pour envoyer la demande à l'aide du certificat de clé privée.

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");
            }
        }

    }
}


Génération de l'exemple de code

L'exemple de code peut être ajouté à un projet d'application de console et intégré à l'environnement de développement intégré (IDE) Visual Studio ; vous pouvez aussi exécuter une compilation à partir de la ligne de commande d'une invite de commandes à l'aide du compilateur Visual C# également fourni avec le .NET Framework.

Dans la génération montrée ci-après, le code a été copié dans un nouveau fichier texte intitulé DropServer.cs et compilé à partir de la ligne de commande. Cette génération crée aussi les informations de débogage.

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

Exécution de l'exemple de code

L'exemple suivant exécute l'exemple de code à l'aide du certificat de clé privée MyCert.pfx pour l'authentification. Le certificat de clé publique (MyCert.cer) a déjà été ajouté à l'abonnement. Pour plus d'informations sur l'authentification, consultez Authentification des demandes de l'API Management de Base de données SQL Windows Azure.

L'identificateur global unique (GUID) 2eae7c21-ffd1-49e4-ac22-39095e0b9f02 constitue un exemple d'identificateur d'abonnement Windows Azure. L'abonnement possède déjà un serveur Base de données SQL nommé l1ej7qgrem défini depuis l'emplacement North Central US. La commande ci-après envoie une demande pour que le serveur soit supprimé de l'abonnement. Le code d'état HTTP 200 est un code de réponse indiquant que l'opération a réussi.

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

Voir aussi

Ajouts de la communauté

Afficher:
© 2014 Microsoft