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.
Notable deaths of 2014 [PHOTOS]
Arizona Cardinals player formally charged