An Azure relational database service.
Azure SQL Database is a PaaS (Platform as a Service) offering, so you don’t perform or track backups the same way as with on-prem SQL Server. Backups are taken automatically by Azure, and you can query information about their retention and restore points—but you can’t get a traditional “last backup date” directly like you would from msdb.dbo.backupset.
That said, you can use PowerShell to list all databases and their available restore points (or earliest/latest backup timestamps). Here’s how:
- Install and import Az module (if not done yet)
Install-Module -Name Az -AllowClobber -Scope CurrentUser
Import-Module Az
Connect-AzAccount
- Get all Azure SQL Databases in a subscription
List all SQL Databases
Get-AzSqlDatabase -ResourceGroupName "<ResourceGroup>" -ServerName "<ServerName>"
This returns basic information: database name, edition, status, max size, etc.
- Get Restore Points (includes backup timestamps)
To get backup/restore info, use Get-AzSqlDatabaseRestorePoint or Get-AzSqlDeletedDatabaseBackup.
Example for existing databases:
$resourceGroup = "<ResourceGroup>"
$serverName = "<ServerName>"
Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | ForEach-Object {
$dbName = $_.DatabaseName
Write-Output "=== Database: $dbName ==="
Get-AzSqlDatabaseRestorePoint -ResourceGroupName $resourceGroup -ServerName $serverName -DatabaseName $dbName
}
This will list restore points (timestamps) available for each database — these correspond to Azure’s backups.
- For Deleted Databases (long-term backup)
If you want to see backups of dropped databases that are still within retention:
Get-AzSqlDeletedDatabaseBackup -ResourceGroupName $resourceGroup -ServerName $serverName
This shows Database Name, Deletion Date, and Earliest/Latest Restore Dates.
- If you want to export into a report
$results = @()
Get-AzSqlDatabase -ResourceGroupName $resourceGroup -ServerName $serverName | ForEach-Object {
$dbName = $_.DatabaseName
$restorePoints = Get-AzSqlDatabaseRestorePoint -ResourceGroupName $resourceGroup -ServerName $serverName -DatabaseName $dbName
foreach ($point in $restorePoints) {
$results += [PSCustomObject]@{
DatabaseName = $dbName
RestorePointType = $point.RestorePointType
RestorePointCreationDate = $point.RestorePointCreationDate
}
}
}
$results | Format-Table -AutoSize
Or export to CSV
$results | Export-Csv "AzureSqlDb_Backups.csv" -NoTypeInformation
Key Takeaways
Azure SQL automatically backs up databases — no manual jobs required.
You cannot query msdb like on-prem SQL Server.
Use Get-AzSqlDatabaseRestorePoint for current DBs or Get-AzSqlDeletedDatabaseBackup for dropped ones.
You can export to CSV if you need reporting.