Esporta (0) Stampa
Espandi tutto
Questo argomento non è stato ancora valutato - Valuta questo argomento

Eliminazione di server

L'operazione di eliminazione del server (Drop Server) consente di eliminare un server Database SQL da una sottoscrizione.

Richiesta

La richiesta di eliminazione del server deve essere specificata come indicato di seguito. Sostituire <id-sottoscrizione> con l'ID sottoscrizione e <nomeserver> con il nome del server da eliminare.

 

Metodo URI della richiesta Versione HTTP

DELETE

https://management.database.windows.net:8443/<id-sottoscrizione>/servers/<nomeserver>

HTTP/1.1

Parametri URL

Non è stato utilizzato alcun parametro URL con questa operazione.

Intestazioni della richiesta

Nella tabella seguente vengono descritte le intestazioni obbligatorie e facoltative della richiesta.

 

Intestazione della richiesta Descrizione

x-ms-version

Obbligatoria. Specifica la versione dell'operazione da utilizzare per questa richiesta. Questa intestazione deve essere impostata su 1.0.

Corpo della richiesta

Per l'operazione di eliminazione del server non viene utilizzato il corpo di una richiesta.

Risposta

Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta.

Codice di stato

Quando un'operazione di eliminazione del server viene completata correttamente, viene restituito un codice di stato HTTP 200 (Operazione completata).

Nella tabella seguente sono elencati alcuni potenziali errori relativi a questa operazione.

 

Codice di errore Codice di stato HTTP Messaggio utente

40638

Richiesta non valida (400)

ID sottoscrizione non valido <id-sottoscrizione>. La sottoscrizione non esiste.

40640

Errore interno del server (500)

Eccezione imprevista rilevata dal server.

40642

Servizio non disponibile (503)

Server attualmente troppo occupato. Riprovare più tardi.

40643

Richiesta non valida (400)

Valore dell'intestazione x-ms-version specificato non valido.

40644

Accesso negato (403)

Impossibile autorizzare l'accesso alla sottoscrizione specificata.

40645

Richiesta non valida (400)

Il nomeserver <nomeserver> non può essere vuoto o Null. Può essere costituito solo da lettere in minuscolo comprese tra a e z, numeri da 0 a 9 e dal segno meno (-) che non può essere la parte iniziale o finale del nome.

40646

Richiesta non valida (400)

L'ID sottoscrizione non può essere vuoto.

40647

Richiesta non valida (400)

Server <nomeserver> non disponibile per la sottoscrizione <id-sottoscrizione>.

40648

Servizio non disponibile (503)

Esecuzione di un numero eccessivo di richieste. Riprovare più tardi.


Per ulteriori informazioni sui codici di stato per l'API di gestione di Database SQL, vedere Codici ed errori di stato.

Intestazioni della risposta

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione della risposta Descrizione

x-ms-request-id

Valore che consente di identificare in modo univoco una richiesta nel servizio di gestione di database. Questo ID richiesta viene utilizzato per la traccia della richiesta. Se si verifica un errore per il quale è necessario contattare il Supporto tecnico Microsoft, sarà necessario fornire l'ID richiesta per la traccia e la risoluzione dell'errore pertinente la richiesta.

L'API di gestione di Database SQL non supporta chiamate asincrone.

Corpo della risposta

Tramite l'operazione di eliminazione del server non viene restituito il corpo di una risposta. L'esito positivo o negativo viene indicato dal codice di stato HTTP.

Esempio di codice

Di seguito è riportato un semplice esempio di codice per la chiamata a questa operazione da un'applicazione console C#. Nel codice vengono utilizzate le classi System.Net.HttpWebRequest e System.Security.Cryptography.X509Certificate2 per l'invio della richiesta tramite il certificato di chiave privata.

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

    }
}


Compilazione del codice di esempio

Il codice di esempio può essere aggiunto a un progetto di applicazione console ed essere compilato nell'ambiente di sviluppo integrato (IDE, Integrated Development Environment) di Visual Studio. In alternativa, è possibile eseguire la compilazione dalla riga di comando di un prompt dei comandi utilizzando il compilatore Visual C# disponibile anche in .NET Framework.

Nella compilazione mostrata di seguito, il codice è stato copiato in un nuovo file di testo denominato DropServer.cs e compilato dalla riga di comando. Questa compilazione, inoltre, consente di generare informazioni sul debug.

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

Esecuzione del codice di esempio

Nell'esempio seguente viene eseguito il codice di esempio tramite il certificato di chiave privata MyCert.pfx per l'autenticazione. Il certificato di chiave pubblica (MyCert.cer) è già stato aggiunto alla sottoscrizione. Per ulteriori informazioni sull'autenticazione, vedere Autenticazione delle richieste API di gestione di database SQL di Windows Azure.

L'identificatore univoco globale 2eae7c21-ffd1-49e4-ac22-39095e0b9f02 è un ID sottoscrizione di Windows Azure di esempio. Il provisioning del server Database SQL denominato l1ej7qgrem è già stato eseguito per questa sottoscrizione dalla posizione "North Central US". Una richiesta per l'eliminazione del server dalla sottoscrizione viene inviata dalla riga di comando mostrata di seguito. Il codice di stato HTTP 200 è un codice di risposta di operazione riuscita indicante che l'eliminazione è stata completata.

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

Vedere anche

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.

Aggiunte alla community

Mostra:
© 2014 Microsoft. Tutti i diritti riservati.