Primeiro dia do mês:
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
Último dia do mês:
SELECT DATEADD(ms, -3, DATEADD(mm, DATEDIFF(m, 0, GETDATE()) + 1, 0))
Substitua um valor de variável DateTime por GETDATE().
Recebi isso há muito tempo de esta página muito útil que tem um monte de outros cálculos de data, como "segunda-feira da semana atual" e "primeira segunda-feira do mês".