¿Es posible crear una nueva base de datos a partir de la restauración de punto en el tiempo con Azure ARMs SqlManagementClient?
Específicamente, buscando una manera de realizar restauraciones de punto en el tiempo a una nueva Base de Datos, preservar la base de datos original;utilizando API administrada en lugar de API REST o plantillas.
Código que tengo hasta ahora:
public async Task CreateDatabaseFromRestorePointAsync(
string resourceGroupName, string serverName,
string databaseName, DateTime time) {
using (SqlManagementClient sqlMgmtClient = GetSqlManagementClient())
{
DatabaseInner myDb = await sqlMgmtClient.Databases.GetAsync(
resourceGroupName, serverName, databaseName);
var newDb = new DatabaseInner
{
Location = myDb.Location,
CreateMode = CreateMode.PointInTimeRestore,
// RestorePointInTime = time;
Edition = "Basic",
SourceDatabaseId = myDb.Id
};
var result = await sqlMgmtClient.Databases.CreateOrUpdateAsync(
resourceGroupName, serverName, "BackUpRestoreTestDb", newDb);
// Throws "The point in time was not specified for restoring live database...'"
}
}
Encontré lo siguiente:
Este enlace SOCómo restaurar una base de datos SQL de Azure a un punto en el tiempo usando las bibliotecas de administración de Azure para .NET.Y el mismo enlace hace referencia anew Database
en vez de unaDatabaseInner
. No se puede encontrar el espacio de nombres de los objetos de la base de datos.
Editar 1: Probé el método de restauración específicamente deLa respuesta de Brando Zhang pero aparentemente hay cambios en el espacio de nombres. Estoy usando:
.Net 4.6.1
Microsoft.Azure.Management.Sql
versión 1.6.0-preview
Microsoft.Azure.Management.Sql.Models
Microsoft.Azure.Management.Sql.Fluent
versión 1.2.0
Microsoft.Azure.Management.Sql.Fluent.Models
Consiguiendoel espacio de nombres no se pudo encontrar paraDatabaseCreateOrUpdateParameters
, DatabaseCreateOrUpdateProperties
, DatabaseCreateMode
, DatabaseCreateOrUpdateResponse
.
SqlManagementClient
existe en ambos..sql
y..slq.fluent
espacios de nombres que no encuentran espacio de nombres para.server
En la lineasqlMgmtClient.Servers.Get(resourceGroupName, serverName).Server;
BuscadoEspacios de nombres de Azure Management de Microsoft sin suerte
Pero Google encontró DatabaseCreateOrUpdateParameters y su espacio de nombres en unsitio español de MSDN, que enlaza a arriba.