1

So, to clarify, I'm aware I could dump the database using tools written for the database that don't know anything about azure.

I know I could do an import / export.

And I know I could just extend the point-in-time recovery retention period for the DB.

But what I want is way simpler than that. I don't need to be able to backup to any arbitrary point in time for the last ten years; I just need the normal point-in-time retention period, and the ability to snapshot specific moments (possibly with downtime for a full backup) and have that specific backup stick around after the normal retention period is up.

In AWS I accomplished this with RDS snapshots. I've done a lot of googling and reading through Azure documentation. This seems like a really basic and fundamental feature. It legitimately surprises me that I haven't found it yet, but I'm giving Microsoft the benefit of the doubt and assuming they've implemented the feature, and I've just (somehow) been unable to find it.

4

Based on my knowledge, for now, Azure SQL database(Paas) does not support snapshot. There are many ways that you could choose to backup SQL database, please refer to this blog:Different ways to Backup your Windows Azure SQL Database.

But for SQL server on Azure VM(Iaas), Azure VM supports create snapshot. You could do it easily on Azure Portal.

enter image description here

More information about the difference between SQL database and SQL server on Azure VM, please refer to this link.

1

Yes you can - although Microsoft refers to it as the process of duplicating or copying an existing Azure SQL database. The source database is snapshotted while the copy is created - so any further writes to the source database made before the database copy is completed won't be included in the final copy, just like how local SQL Server snapshots using Volume Shadow Copy work.

This is documented here: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy

A database copy is a snapshot of the source database as of the time of the copy request.

You can accomplish this in different ways:

Note that as a copy of a database is a separate database instance you will have to pay for the copy - but you can use a different pricing tier for the database copy, at least.

Using PowerShell:

New-AzureRmSqlDatabaseCopy -ResourceGroupName "myResourceGroup" `
    -ServerName $sourceserver `
    -DatabaseName "MySampleDatabase" `
    -CopyResourceGroupName "myResourceGroup" `
    -CopyServerName $targetserver `
    -CopyDatabaseName "CopyOfMySampleDatabase"

Using T-SQL (same Azure SQL Server):

CREATE DATABASE Database2 AS COPY OF Database1;

Using T-SQL (different Azure SQL Server):

CREATE DATABASE Database2 AS COPY OF server1.Database1;

See the linked article for more details and notes, e.g. remapping of logins.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.