如果函数y=lg(x²+ax+a+2)的定义域为R,求实数a的取值范围,若值域为R,求实数a的取值范围