When you execute the below query, as you expect, the result will be “September 26th 2049”
DECLARE @DATE AS DATETIME SET @DATE = '09/26/49' SELECT @DATE
Now, Lets see what happen when we pass 50 instead of 49
DECLARE @DATE AS DATETIME SET @DATE = '09/26/50' SELECT @DATE
You will get the result as “September 26th 1950”; this is because by default, SQL Server interprets two-digit years based on a cutoff year of 2049.
DECLARE @DATE AS DATETIME SET @DATE = '09/26/2050' SELECT @DATE
Now, as you expect you will get the result as “September 26th 2050”; so it is always good to specify the four-digit year.
Notes from BOL
By default, SQL Server interprets two-digit years based on a cutoff year of 2049. That is, the two-digit year 49 is interpreted as 2049 and the two-digit year 50 is interpreted as 1950. Many client applications, such as those based on Automation objects, use a cutoff year of 2030. SQL Server provides the two digit year cutoff configuration option that changes the cutoff year used by SQL Server and allows for the consistent treatment of dates. We recommend specifying four-digit years.”