Получите дату / время следующей встречи в базе данных, вычтите из этого DateTime.Now, чтобы получить TimeSpan, а затем используйте этот промежуток времени, чтобы запустить таймер один раз, подобно этому:
class MainClass
{
public static void FireTimerAt(DateTime next)
{
TimeSpan waitTime = next - DateTime.Now;
new Timer(delegate(object s) {
Console.WriteLine("{0} : {1}",
DateTime.Now.ToString("HH:mm:ss.ffff"), s);
}
, null, waitTime, new TimeSpan(-1));
}
}