50 mA is too much for a "coin cell". A CR2032 is already a fairly large coin cell, although there are larger ones.
What you should do is put a large enough capacitor in parallel with the coin cell. The cap provides the short term burst of power, and is then recharged by the coin cell more slowly over the next couple seconds until the next pulse.
Let's say you want the cap voltage not to drop more than 100 mV by the end of the pulse. (50 mA)(1 ms)/(100 mV) = 500 µF. At this low voltage even twice that is still relatively small.
You might also want to put a resistor between the coin cell and the cap. This will spread out the charging current over time, so decrease the max current the cell sees. If the voltage drop is small enough and the internal resistance of the cell large enough, this may not be needed.
However, the way to calculate the resistance is to look at the time to recharge the cap. The cap needs to be full again in 2 seconds. Let's say you want the cap to charge within 99% of full before the next pulse. That's 4.6 time constants, so one time constant is 430 ms. Let's say you chose a 1 mF cap. (430 ms)/(1 mF) = 430 Ω. That's the total effective resistance in series with the cap and cell. That includes the cell's internal resistance, which could be a significant part of that.
I'd probably not put additional resistance there. The initial recharge current will be the voltage drop divided by the cell's internal resistance. With 1 mF, the voltage will only drop 50 mV, so the current should be low enough to not appreciably shorten the life of the cell without any additional resistance. For example, the internal resistance would have to be 50 Ω for the initial recharge current to be 1 mA.