Create Azure SQL Backup Policy

In this article

    You can create a new Azure SQL backup policy.

    Request

    To create a backup policy, send the HTTP POST request to the /policies/sql endpoint.

    HTTP Request

    POST https://<hostname>/api/v3/policies/sql

    Request Headers

    The request contains the following headers.

    Header

    Required

    Value

    Description

    Authorization

    Required

    Bearer <Access-Token>

    Authenticates a client who sends the request to the server. Must contain the access token for the current logon session in the Bearer <Access-Token> format.

    Request Body

    To create the backup policy, send the parameters of the NewPolicySqlFromClientV3 schema in the request body in the following format:

    {

     "tenantId": "string",

     "serviceAccountId": "string",

     "regions": [

       {

         "regionId": "string"

       }

     ],

     "selectedItems": {

       "databases": [

         {

           "id": "string"

         }

       ],

       "sqlServers": [

         {

           "id": "string"

         }

       ]

     },

     "excludedItems": {

       "databases": [

         {

           "id": "string"

         }

       ]

     },

     "stagingServerId": "string",

     "managedStagingServerId": "string",

     "name": "string",

     "description": "string",

     "retrySettings": {

       "retryCount": 0

     },

     "policyNotificationSettings": {

       "recipient": "string",

       "notifyOnSuccess": true,

       "notifyOnWarning": true,

       "notifyOnFailure": true

     },

     "isEnabled": true,

     "backupType": "AllSubscriptions",

     "dailySchedule": {

       "dailyType": "Everyday",

       "selectedDays": [

         "Sunday"

       ],

       "backupSchedule": {

         "hours": [

           0

         ],

         "retention": {

           "timeRetentionDuration": 0,

           "retentionDurationType": "Days"

         },

         "targetRepositoryId": "string"

       }

     },

     "weeklySchedule": {

       "startTime": 0,

       "backupSchedule": {

         "selectedDays": [

           "Sunday"

         ],

         "retention": {

           "timeRetentionDuration": 0,

           "retentionDurationType": "Days"

         },

         "targetRepositoryId": "string"

       }

     },

     "monthlySchedule": {

       "startTime": 0,

       "type": "First",

       "dayOfWeek": "Sunday",

       "dayOfMonth": 0,

       "monthlyLastDay": true,

       "backupSchedule": {

         "selectedMonths": [

           "January"

         ],

         "retention": {

           "timeRetentionDuration": 0,

           "retentionDurationType": "Days"

         },

         "targetRepositoryId": "string"

       }

     },

     "yearlySchedule": {

       "startTime": 0,

       "month": "January",

       "type": "First",

       "dayOfWeek": "Sunday",

       "dayOfMonth": 0,

       "yearlyLastDay": true,

       "retentionYearsCount": 0,

       "targetRepositoryId": "string"

     }

    }

    Response

    The server returns the following response to the client.

    Response Codes

    A successfully completed operation returns a response code 200 (OK).

    Response Headers

    The response to this request contains the following headers. The response may also include additional standard HTTP headers.

    Header

    Value

    Description

    Content-length

    integer

    Identifies the length of the response body message, in bytes.

    Content-type

    • application/json
    • application/problem+json

    Identifies the media type of the response body message.

    Response Body

    In the response body, Veeam Backup for Microsoft Azure returns a representation of the created backup policy. The Policyv3 schema is used for the resource representation.

    Create Azure SQL Backup PolicyExample

    The following request creates a backup policy with the following settings.

    Response:

    POST https://51.11.247.127/api/v3/policies/sql

     

    Response Header:

    Authorization: Bearer <Access-Token>

     

    Response Body:

    {

     "id": "8cd8d89f-e774-4a3d-a87a-f77f5d2d432b",

     "priority": 1,

     "excludedItemsCount": 0,

     "tenantId": "97568793-c243-4a51-8345-d33056db7b9b",

     "serviceAccountId": "0265c811-173d-43eb-a84e-aff90c48d40d",

     "usn": 26848,

     "backupStatus": "Success",

     "nextExecutionTime": "2021-09-13T20:00:00Z",

     "_links": {

       "self": {

         "href": "https://51.11.247.127/api/v3/policies/sql/8cd8d89f-e774-4a3d-a87a-f77f5d2d432b"

       }

     },

     "name": "sql_policy",

     "description": "",

     "retrySettings": {

       "retryCount": 3

     },

     "policyNotificationSettings": {

       "recipient": "tomas.anders@veeam.com",

       "notifyOnSuccess": false,

       "notifyOnWarning": false,

       "notifyOnFailure": false

     },

     "isEnabled": true,

     "backupType": "SelectedItems",

     "dailySchedule": {

       "dailyType": "SelectedDays",

       "selectedDays": [

         "Monday"

       ],

       "backupSchedule": {

         "hours": [

           22

         ],

         "retention": {

           "timeRetentionDuration": 14,

           "retentionDurationType": "Days"

         },

         "targetRepositoryId": "2"

       }

     }

    }