A.加入盐酸,与以上四种物质都不反应,无法鉴别,故A错误;B.加入BaCl2不能鉴别Na2SO4和MgSO4,二者都生成BaSO4沉淀,故B错误;C.加入AgNO3都生成白色沉淀,分别为AgCl和Ag2SO4,无法鉴别,故C错误;D.分别向四种溶液中加入氢氧化钠,有刺激性气味的气体产生的原溶液是氯化氨溶液,立即有白色沉淀生成且不溶解的原溶液是硫酸镁溶液,开始时有白色沉淀生成,随氢氧化钠量的增多,沉淀溶解的是氯化铝溶液,无明显变化的是硫酸钠溶液,故D正确.故选D.