Rescue workers descended on the scene in the town of Bad Reichenhall and police using a dog searched for people under the collapsed roof on Monday.
Fritz Braun, a police spokesman, said between 20 and 25 were injured and about 25 were still missing.
Another police spokesman, Johann Bohnert, said: "We fear there may be many more dead."
Doctors set up a makeshift infirmary at a building next door where injured people lay with intravenous drips. At least three children being carried by rescuers to a Red Cross medical tent were seen by an AP photographer.
The accident happened at about 4pm (1500 GMT) after heavy snowfall. Fire service officials said the flat roof appeared to have collapsed under the weight of snow.
Rescue workers in helmets and heavy boots worked in steady snowfall and early evening darkness, and snow was piled deep on the streets of the town. A crane was brought to the scene.
Thomas Rumpeltes, an official with a local ice hockey club in the town of Bad Reichenhall, said he had been told by town authorities half an hour before the accident that a regular practice session for youth players was cancelled on the grounds that there was a risk of the facility collapsing.
Rumpeltes said, "apparently the public skating was still continuing".
Braun said fire officers were "trying to shore up the remains of the roof to get to the injured".
"According to our information, 50 people were in the hall."
A town hall spokeswoman said the accident happened just after the rink closed for the day.
The rink was built in the 1970s. The town is in the southeastern corner of Germany, on the border with Austria and about 10km from the Austrian city of Salzburg.
Heavy snow was making access to the scene difficult.