• These are not the same

    range left for value('20141231 23.59.59.987',(20151231 23.59.59.987')

    check (businessdate is not null and businessdate < '2015-01-01')

    Specifically, the value '2014-12-21 23:59:59.990' satisfies the constraint but does not belong in the partition you're trying to switch the table into.

    Either you need to change the constraint to be (businessdate <= '20141231 23.59.59.987) or, and I recommend this, change the partition function to be (range right for value ('2015-01-01', '2016-01-01'), then you don't have to worry about rounding of datetime values

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass