Reputation: 81
Below are for creating a database using Azure management libraries, and I would like to know how to restore an existing database to point-in-time on Azure.
// Crate Authenticate
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal("{clientId}", "{client-secret}", "{teantId}", AzureEnvironment.AzureGlobalCloud);
// Connect Azure
var azure = Azure
.Configure()
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
// Create TestDB
var sqlServer = azure.SqlServers.GetById("{sql-server-Id}");
sqlServer.Databases.Define("TestDB").Create();
// Point-in-time restore ???
Upvotes: 2
Views: 1215
Reputation: 81
Solved myself. Use Microsoft.Azure.Management.Sql rather than Microsoft.Azure.Management.Sql.Fluent.
using Microsoft.Azure.Management.Sql.Models;
using Microsoft.Azure.Management.Sql;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
private void RestoreToPointInTime()
{
var token = GetToken("{tenantId}", "{applicationId}", "{appliactionSecret}");
var sqlMgmtClient = new SqlManagementClient(new Microsoft.Rest.TokenCredentials(token.AccessToken)) { SubscriptionId = "{SubscriptionId}" };
var myDb = sqlMgmtClient.Databases.Get("RestoreTest", "testsqlserver", "TestDB");
var newDb = new Database
{
Location = myDb.Location,
CreateMode = CreateMode.PointInTimeRestore,
RestorePointInTime = myDb.EarliestRestoreDate.Value,
SourceDatabaseId = myDb.Id
};
sqlMgmtClient.Databases.CreateOrUpdate("RestoreTest", "testsqlserver", "TestNewDB", newDb);
}
private static AuthenticationResult GetToken(string tenantId, string applicationId, string applicationSecret)
{
AuthenticationContext authContext = new AuthenticationContext("https://login.windows.net/" + tenantId);
return authContext.AcquireToken("https://management.core.windows.net/", new ClientCredential(applicationId, applicationSecret));
}
Upvotes: 6
Reputation: 15702
Are you willing to use REST API?
https://learn.microsoft.com/es-es/rest/api/sql/databases%20-%20restore%20points
Hope this helps.
Regards,
Alberto Morillo
Upvotes: 0