Kendra Little shows that DATETIME2 implicit conversion canĀ prevent partition elimination:
SQL Server is implicitly converting my date value to DATETIME2(7). That is a larger, more precise value than the data type I have in the tableāFakeBirthDateStamp is DATETIME2(0).
That data type mismatch is preventing partition elimination!
This is a nasty issue to catch in production, especially after you spend a bunch of time arguing with devs that DATETIME2 is the way of the future, that it’s better because of the variable precision, etc.