Sri Lanka retained the same team that won the first Test by an innings and 234 runs at the Sinhalese Sports Club last week.
Bangladesh made three changes, bringing in debutant all-rounder Mehrab Hossain, seamer Mohammad Sharif and 18-year-old wicket-keeper Mushfiqur Rahim.
The trio replaced Khaled Mashud, Shakib-Al Hasan and Abdur Razzak.
Bangladesh: Mohammad Ashraful (capt), Shahriar Nafees, Javed Omar, Rajin Saleh, Habibul Bashar, Mehrab Hossain, Mushfiqur Rahim (wk), Mashrafe Mortaza, Shahadat Hossain, Mohammed Rafique and Mohammad Sharif.
Sri Lanka: Mahela Jayawardene (capt), Michael Vandort, Malinda Warnapura, Kumar Sangakkara, Chamara Silva, Tillakaratne Dilshan, Prasanna Jayawardene (wk), Chaminda Vaas, Muttiah Muralitharan, Lasith Malinga, Dilhara Fernando. 12th man: Malinga Bandara.
Umpires: Asad Rauf (Pak), Rudi Koertzen (RSA) and Asoka de Silva (SL).
Match referee: Jeff Crowe (NZ).