Jag kan duplicera felet med följande:
declare @posting_date datetime
set @posting_date = '1/1/1753'
select DATEADD(day, -1 , DATEADD(mm, DATEDIFF(mm,0,@posting_date),0))
fel efter att ha kört det:
I grund och botten är posting_date i ovanstående fall det minsta datum- och tidsvärde som tillåts av SQL-servern. Om du sedan försöker subtrahera 1 dag från det, så går det in i ett överflödestillstånd.
Min gissning är att du har en datapunkt som är inställd på SQL Servers lägsta datumvärde .