@@ -280,6 +280,58 @@ function Test-LongTermRetentionV2
280
280
Remove-AzSqlDatabase - ResourceGroup $resourceGroup - ServerName $serverName - DatabaseName $restoredDatabase
281
281
}
282
282
283
+ function Test-LongTermRetentionV2ResourceGroupBased
284
+ {
285
+
286
+ # MANUAL INSTRUCTIONS
287
+ # Create a server and database and fill in the appropriate information below
288
+ # Set the weekly retention on the database so that the first backup gets picked up, for example:
289
+ # Set-AzSqlDatabaseLongTermRetentionPolicy -ResourceGroup $resourceGroup -ServerName $serverName -DatabaseName $databaseName -WeeklyRetention P1W
290
+ # Wait about 18 hours until it gets properly copied and you see the backup when run get backups, for example:
291
+ # Get-AzSqlDatabaseLongTermRetentionBackup -Location $locationName -ServerName $serverName -DatabaeName $databaseName -ResourceGroupName $resourceGroup
292
+ $resourceGroup = " brrg"
293
+ $locationName = " brazilsouth"
294
+ $serverName = " ltrtest3"
295
+ $databaseName = " mydb"
296
+ $restoredDatabase = " mydb_restore"
297
+ $databaseWithRemovableBackup = " mydb" ;
298
+
299
+ # Basic Get Tests
300
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ResourceGroupName $resourceGroup
301
+ Assert-AreNotEqual $backups.Count 0
302
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ServerName $serverName - ResourceGroupName $resourceGroup
303
+ Assert-AreNotEqual $backups.Count 0
304
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ServerName $serverName - DatabaseName $databaseName - ResourceGroupName $resourceGroup
305
+ Assert-AreNotEqual $backups.Count 0
306
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ServerName $serverName - DatabaseName $databaseName - BackupName $backups [0 ].BackupName - ResourceGroupName $resourceGroup
307
+ Assert-AreNotEqual $backups.Count 0
308
+
309
+ # Test Get Piping
310
+ $backups = Get-AzSqlDatabase - ResourceGroup $resourceGroup - ServerName $serverName - DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup
311
+ Assert-AreNotEqual $backups.Count 0
312
+ $backups = Get-AzSqlDatabase - ResourceGroup $resourceGroup - ServerName $serverName - DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup - BackupName $backups [0 ].BackupName
313
+ Assert-AreNotEqual $backups.Count 0
314
+
315
+ # Test Get Optional Parameters
316
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ServerName $serverName - DatabaseName $databaseName - ResourceGroupName $resourceGroup - OnlyLatestPerDatabase - DatabaseState All
317
+ Assert-AreNotEqual $backups.Count 0
318
+
319
+ # Test Get Piping with Optional Parameters
320
+ $backups = Get-AzSqlDatabase - ResourceGroup $resourceGroup - ServerName $serverName - DatabaseName $databaseName | Get-AzSqlDatabaseLongTermRetentionBackup - OnlyLatestPerDatabase
321
+ Assert-AreNotEqual $backups.Count 0
322
+
323
+ # Restore Test
324
+ $backups = Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ResourceGroupName $resourceGroup
325
+ $db = Restore-AzSqlDatabase - FromLongTermRetentionBackup - ResourceId $backups [0 ].ResourceId - ResourceGroupName $resourceGroup - ServerName $serverName - TargetDatabaseName $restoredDatabase
326
+ Assert-AreEqual $db.DatabaseName $restoredDatabase
327
+
328
+ # Test Remove with Piping
329
+ Get-AzSqlDatabaseLongTermRetentionBackup - Location $locationName - ServerName $serverName - DatabaseName $databaseWithRemovableBackup - BackupName $backups [0 ].BackupName - ResourceGroupName $resourceGroup | Remove-AzSqlDatabaseLongTermRetentionBackup - Force
330
+
331
+ # drop the restored db
332
+ Remove-AzSqlDatabase - ResourceGroup $resourceGroup - ServerName $serverName - DatabaseName $restoredDatabase - Force
333
+ }
334
+
283
335
function Test-DatabaseGeoBackupPolicy
284
336
{
285
337
$rg = Get-AzResourceGroup - ResourceGroupName payi- test
0 commit comments