The Astros lost for the 90th time this season, their latest losing streak having reached four games.
Ackley singled in a run in the fourth, drove in two more with a base hit in the fifth and had another RBI single in the ninth. The only Houston run was unearned.
Taijuan Walker picked up the victory in his major league debut, working five innings while giving up two hits with a walk and two strikeouts.
The loss went to Brad Peacock (3-5), who allowed five runs on seven hits in 4 2/3.
18-year-old elf alleges mall Santa pinched her buttocks on the job
Michelle Rodriguez breaks silence on Paul Walker's death