Primer día del mes: SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
Último día del mes: SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))
Sustituya un valor de variable DateTime por GETDATE().
Obtuve eso hace mucho tiempo de esta página muy útil que tiene un montón de otros cálculos de fechas, como "lunes de la semana actual" y "primer lunes del mes".