En SQL Server 2012 puede usar EOMONTH (Transact-SQL) para obtener el último día del mes y luego puede usar DAY (Transact-SQL) para obtener la cantidad de días del mes.
DECLARE @ADate DATETIME
SET @ADate = GETDATE()
SELECT DAY(EOMONTH(@ADate)) AS DaysInMonth