Get Service Level Objective (classic)

 

THIS TOPIC APPLIES TO: noSQL Server yesAzure SQL DatabaseyesAzure SQL Data Warehouse noParallel Data Warehouse

Gets details for an Azure SQL Database Server service level objective.

Important

The recommended REST commands to work with SQL Database are the Resource Manager based Azure SQL Database REST API. While there is no change to SQL Database, be aware that the classic deployment model command in this article is scheduled for deprecation on December 1, 2019. For a table providing links to the specific new commands you should use, see Operations for Azure SQL Databases.

Request

The Get Service Level Objective request must be specified as follows.

  • Replace {subscriptionId} with your subscription ID.

  • Replace {serverName} with your server name.

  • Replace {serviceObjectiveId} with your service objective ID.

Method Request URI HTTP Version
GET https://management.core.windows.net:8443/{subscriptionId}/services/sqlservers/servers/{serverName}/serviceobjectives/{serviceObjectiveId} HTTP/1.1

If an operation returns success, the operation is complete and changes are effective immediately. If an operation fails because of a user error, no changes are applied. If there is a communication error or internal server error, you should check the status of the operation using List Servers (classic).

URI Parameters

None.

Request Headers

The following table describes the required and optional request headers:

Request Header Description
x-ms-version Required. Specifies the version of the operation to use for this request. This header should be set to 2012-03-01.

Request Body

None.

Response

The response includes an HTTP status code, a set of response headers, and a response body.

Status Code

Response Headers

The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.

Response Header Description
x-ms-request-id A value that uniquely identifies a request made against the database management service. This request id is used for request tracking. If a failure occurs that requires the user to contact Microsoft Support, the request id should be provided to Microsoft to assist in tracking and resolving the failure for the request.

Response Body

The following is an example response body:

<ServiceResource xmlns="https://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">  
  <Name>Shared</Name>  
  <Type>Microsoft.SqlAzure.ServiceObjective</Type>  
  <State>Normal</State>  
  <SelfLink>https://management.core.windows.net/2eae7c21-ffd1-49e4-ac22-39095e0b9f02/services/sqlservers/servers/bpr0d6li5t/serviceobjectives/910b4fcb-8a29-4c3e-958f-f7ba794388b2</SelfLink>  
  <ParentLink>https://management.core.windows.net/2eae7c21-ffd1-49e4-ac22-39095e0b9f02/services/sqlservers/servers/bpr0d6li5t</ParentLink>  
  <Id>910b4fcb-8a29-4c3e-958f-f7ba794388b2</Id>  
  <IsDefault>True</IsDefault>  
  <IsSystem>False</IsSystem>  
  <Description>Resource capacity is not reserved.</Description>  
  <Enabled>True</Enabled>  
  <DimensionSettings>  
    <ServiceResource>  
      <Name>Shared</Name>  
      <Type>Microsoft.SqlAzure.DimensionSetting</Type>  
      <State>Normal</State>  
      <SelfLink>https://management.core.windows.net/2eae7c21-ffd1-49e4-ac22-39095e0b9f02/services/sqlservers/servers/bpr0d6li5t/dimensionsettings/22467ff6-6823-4d18-a169-913150e7714f</SelfLink>  
      <ParentLink>https://management.core.windows.net/2eae7c21-ffd1-49e4-ac22-39095e0b9f02/services/sqlservers/servers/bpr0d6li5t</ParentLink>  
      <Id>22467ff6-6823-4d18-a169-913150e7714f</Id>  
      <Description>Resource capacity is not reserved.</Description>  
      <Ordinal>1</Ordinal>  
      <IsDefault>True</IsDefault>  
    </ServiceResource>  
  </DimensionSettings>  
</ServiceResource>  

The following table describes the elements of the response body:

Element Name Description
Name The name of the service objective.
Type The type of the service resource; Microsoft.SqlAzure.ServiceObjective.
State The current state of the service resource.
SelfLink The URI for this service resource.
ParentLink The URI for the parent service resource.
Id The server ID.
IsDefault Specifies if this is the default service level objective.
IsSystem Specifies if the resource is a system object.
Description Description of the service resource.
Enabled Specifies if this service resource is enabled.

Example

The following console application returns a specific service level objective for a server.

  • {subscriptionId} – replace with the subscription identifier for your subscription.

  • {serverName} – replace with the name of your server.

  • {thumbprint} – replace with the thumbprint of a management certificate in your subscription.

  • {objectiveId} – replace with the service objective ID.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
using System.IO;  
using System.Xml;  
using System.Security;  
using System.Security.Cryptography;  
using System.Security.Cryptography.X509Certificates;  
using System.Net;  
  
namespace GetServiceLevelObjective  
{  
    /// <summary>  
    /// Gets details of a service level objective from a server.  
    /// </summary>  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Uri requestUri = new Uri("https://management.core.windows.net:8443/"  
                                   + "{subscriptionId}"  
                                   + "/services"  
                                   + "/sqlservers/servers/{serverName}/serviceobjectives/{objectiveId}");  
  
            // Create the request and specify attributes.  
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUri);  
  
            // Add a x-ms-version header to specify API version.  
            request.Headers.Add("x-ms-version", "2012-03-01");  
  
            // Generate a request ID that can be used to identify this request in the service logs.  
            string clientRequestId = Guid.NewGuid().ToString();  
            request.Headers.Add("x-ms-client-request-id", clientRequestId);  
            request.Method = "GET";  
            request.ContentType = "application/xml";  
  
            // The thumbprint value of the management certificate.  
            // Replace {thumbprint} with the thumbprint of a management certificate associated with your subscription.  
            // It must also be installed on the machine accessing the API.  
            string certThumbprint = "{thumbprint}";  
  
            // Create a reference to the My certificate store.  
            X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);  
  
            // Open the store.  
            certStore.Open(OpenFlags.ReadOnly);  
  
            // Find the certificate that matches the thumbprint.  
            X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, certThumbprint, false);  
            certStore.Close();  
  
            // Verify the certificate was added to the collection.  
            if (0 == certCollection.Count)  
            {  
                throw new Exception("Error: No certificate found with thumbprint " + certThumbprint);  
            }  
  
            // Create an X509Certificate2 object using our matching certificate.  
            X509Certificate2 certificate = certCollection[0];  
  
            // Attach the certificate to the request.  
            request.ClientCertificates.Add(certificate);  
  
            try  
            {  
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())  
                using (Stream responseStream = response.GetResponseStream())  
                using (StreamReader reader = new StreamReader(responseStream))  
                {  
                    // Display the client request ID.  
                    Console.WriteLine("clientRequestId: " + clientRequestId);  
  
                    // Display the web response status code.  
                    Console.WriteLine("Response status code: " + response.StatusCode);  
  
                    // Display the request ID returned by Windows Azure.  
                    Console.WriteLine("x-ms-request-id: "  
                        + response.Headers["x-ms-request-id"]);  
  
                    // Display the raw response.  
                    Console.WriteLine("Received response:");  
                    Console.WriteLine(reader.ReadToEnd());  
                }  
            }  
            catch (Exception e)  
            {  
                Console.WriteLine(e.StackTrace);  
            }  
        }  
    }  
}  

See Also

Common REST API Error Codes
Azure SQL Database
Operations for Azure SQL Databases
Azure SQL Database Cmdlets