More than 20,000 assaults were carried out on NHS staff in Scotland in the past year, figures have revealed.
Nurses are facing more violence from patients' relatives and visitors
Statistics from health authorities given to BBC Scotland show continuing high levels of physical attacks, aggressive behaviour and verbal abuse.
The Royal College of Nursing said, despite zero tolerance campaigns, assaults were becoming more frequent and more violent.
The Scottish Executive said violence against NHS staff was "unacceptable".
Fourteen of Scotland's health authorities responded to a BBC request for details of assaults on NHS staff within the last recorded year.
The figures covered acute and primary care. They revealed more than 22,000 incidents of attacks on workers in hospitals and community care.
In Greater Glasgow there were 800 assaults in the acute sector but more than 3,000 in primary care. A similar pattern emerged in other health boards.
Some authorities distinguished between physical and verbal attacks while others provided an overall figure for abuse of staff.
RCN Scotland's acting deputy director, Anne Thomson, said assaults were becoming more frequent and more violent.
She said: "We've had nurses threatened at gunpoint, threatened with knives on a regular basis and others have been physically assaulted with broken noses and various other types of injuries.
"Nurses have been sexually assaulted on duty and threatened with things like broken bottles and hit with chairs."
Ms Thomson also said there was growing concern about attacks on primary care workers in the community.
"Nurses are going in on their own - district nurses, health visitors, midwives - to people's homes and you don't always know who's in the house and you also don't know what kind of situation you are walking in to," she added.
"There could be other people in the house who are heavily under the influence of alcohol or drugs, who may be very violent and you are very vulnerable."
RCN Scotland said aggressors were increasingly patients' relatives and visitors.
It warned against dismissing the impact of verbal aggression against health workers and said verbal abuse also took its toll.
Nurse Karen Scott said she was attacked by a male patient who had been aggressive throughout the morning.
She said the man kicked her on the head and then tried to attack other patients. The attack was so severe, Ms Scott said she had been left with a constant ringing in her ears.
After the attack, she said she was told to have a cup of tea and then concentrate on paperwork for the rest of her shift.
A spokesman for the executive said assaults on health workers must be tackled.
"NHS boards have the power to withhold treatment in extreme cases - but it shouldn't have to come to that," he said.
"Last year, Health Minister Andy Kerr announced extra resources for NHS boards to help tackle the problem locally.
"A Christmas campaign has been conducted in each of the last two years to drive home the zero tolerance message and in recent months we have been running the 'Bang out of Order' campaign using TV adverts."
The spokesman added: "At a wider level, we have introduced the Emergency Workers Act to provide protection for workers including hospital and ambulance staff."