public override void ExecuteCommand() { var dbServer = ConnectionString.DataSource; var masterConnectionString = Util.GetMasterConnectionString(ConnectionString.ConnectionString); Log.Trace("Deleting old warehouse backups for server '{0}':", dbServer); using (var sqlConnection = new SqlConnection(masterConnectionString)) { sqlConnection.Open(); using (var dbExecutor = new SqlExecutor(sqlConnection)) { var dbs = dbExecutor.Query <Db>( "SELECT name FROM sys.databases WHERE name LIKE 'WarehouseBackup_%' AND state = @state", new { state = Util.OnlineState }); foreach (var db in dbs) { var timestamp = Util.GetDatabaseNameTimestamp(db); var date = Util.GetDateTimeFromTimestamp(timestamp); if (DateTime.UtcNow.Subtract(TimeSpan.FromDays(7)) > date) { DeleteDatabaseBackup(db, dbExecutor); } } } } }
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); } } }