The boat had set sail from Lebanon, a country that hosts more than a million refugees from Syria's civil war and has been mired in economic crisis for the past three years.
This has prompted a rise in attempts to leave for the EU.
An official said 20 survivors were taken to hospital, leaving many people unaccounted for.
The government also reported that search efforts at sea were being suspended because of dangerously high waves.
"The number of people found dead has risen to 34," Syria's Health Ministry said.
It said the 20 survivors were being treated in Al Basel hospital in Tartus and that the toll was only provisional.
"Oxygen assistance has been provided to most of the hospitalised people and some of them have been transferred to intensive care," the ministry said.
Syrians join peace convoy in Idlib seeking asylum in Europe – in pictures
"According to survivors, their boat left Lebanon days ago," said the head of Syrian ports, Samer Kbrasli.
Mr Kbrasli said "between 120 and 150 people" had been on board before it sank.
At least one child was reported to be among the dead.
Tartus is the southern-most of Syria's main ports, and is about 50 kilometres north of the northern Lebanese port city of Tripoli.
Rescue teams were sent to the scene to try to find other survivors but "the search in the waters was interrupted in the evening due to strong waves", Mr Kbrasli said later.
"Outposts deployed along the coast … continue to monitor the situation."
Ali Hamie, Lebanon's Transport Minister, said on Twitter that Syrian authorities had assured him an airborne search involving a Russian helicopter was continuing.
Lebanese citizens had been on board the boat, he said, without giving a figure.
The Syrian Transport Ministry said information from survivors suggested the boat set off from Miniyeh, a town just north of Tripoli.
Nine dead, at least 45 rescued after migrant boat sinks off Lebanon's coast - video
Lebanon last year had a sharp increase in the number of migrants using its shores to attempt the perilous crossing in overcrowded boats to reach Europe.
In April, the sinking of an overcrowded migrant boat pursued by the Lebanese navy off the northern coast of Tripoli killed six people, provoking anger in the country.
The circumstances of that incident were not entirely clear, with some on board claiming the navy rammed their vessel, while officials insisted the smugglers tried reckless escape manoeuvres.
The government in Beirut ordered an investigation.
On September 13, Turkey's coastguard announced the death of six migrants, including two babies, and rescued 73 people trying to reach Europe, off the coast of the south-western province of Mugla.
They had reportedly boarded from Tripoli in Lebanon in an attempt to reach Italy.
Most of the boats setting off from Lebanon head for EU member Cyprus, an island 175 kilometres away.
Many are Syrians, but the ever-worsening economic crisis has pushed growing numbers of Lebanese to also attempt the crossing.