DECLARE @Month INT=7,
@Year INT=2025;
WITH cte_datesofMonth
AS (SELECT Datefromparts(@Year, @Month, 1) AS dDate
UNION ALL
SELECT Dateadd(day, 1, ddate)
FROM cte_datesofMonth
WHERE Day(ddate) < Day(Eomonth(ddate)))
SELECT *
FROM cte_datesofMonth