What about:
In[47]:= NonlinearModelFit[data, {temp2[t], a <= 0 || a > 0}, {a, k2}, t]["BestFitParameters"]
Out[47]= {a -> 866.073, k2 -> 0.0300234}
Edit:
In[30]:= NonlinearModelFit[data, {temp2[t], 1 > 0}, {a, k2}, t]["BestFitParameters"]
Out[30]= {a -> 866.073, k2 -> 0.0300234}
In[31]:= NonlinearModelFit[data, {temp2[t], True}, {a, k2}, t]["BestFitParameters"]
Out[31]= {a -> 866.073, k2 -> 0.0300234}
In[32]:= NonlinearModelFit[data, {temp2[t]}, {a, k2}, t]["BestFitParameters"]
Out[32]= {a -> 339.024, k2 -> 9129.04}