Source/NuGetGallery.Operations/Tasks/ListDatabaseBackupsTask.cs (30 lines of code) (raw):

using System.Data.SqlClient; using AnglicanGeek.DbExecutor; using NuGetGallery.Operations.Model; namespace NuGetGallery.Operations { [Command("listdatabasebackups", "List database backups at the specified database server", AltName = "ldb")] public class ListDatabaseBackupsTask : DatabaseTask { public override void ExecuteCommand() { var dbServer = ConnectionString.DataSource; var masterConnectionString = Util.GetMasterConnectionString(ConnectionString.ConnectionString); Log.Info("Listing backups for server '{0}':", dbServer); using (var sqlConnection = new SqlConnection(masterConnectionString)) using (var dbExecutor = new SqlExecutor(sqlConnection)) { sqlConnection.Open(); var dbs = dbExecutor.Query<Db>( "SELECT name FROM sys.databases WHERE name LIKE 'Backup_%' AND state = @state", new { state = Util.OnlineState }); foreach(var db in dbs) { var timestamp = Util.GetDatabaseNameTimestamp(db); var date = Util.GetDateTimeFromTimestamp(timestamp); Log.Info("{0} ({1})", timestamp, date); } } } } }