Authorities said Robert Stewart also wounded three others, including a Carthage police officer who confronted him in a hallway of Pinelake Health and Rehab and stopped the attack.
The officer "acted in nothing short of a heroic way today, and but for his actions, we certainly could have had a worse tragedy," Moore County Dist. Atty. Maureen Krueger said. "We had an officer, a well-trained officer, who performed his job the way he was supposed to and prevented this from getting even worse than it is now."
By late Sunday afternoon, Krueger had charged Stewart, 45, of Moore County with eight counts of first-degree murder and a single charge of felony assault of a law enforcement officer. Authorities offered few other details except that Stewart was not a patient nor an employee at the nursing home and was not thought to be related to any of the victims.
"I don't know if the emotion entirely has set in," said Police Chief Chris McKenzie, a Carthage native who said that in his nearly 20-year law enforcement career, nothing compared to Sunday's carnage. "It's a small community built on faith, and faith will get us through."
Authorities declined to comment on a motive, but Stewart's ex-wife said he had been reaching out to family members, telling them he had cancer and was preparing for a long trip and to "go away."
Sue Griffin said she was married to Stewart for 15 years and hadn't spoken to him since their divorce in 2001, but he had been trying to contact her in the last week through her son, mother, sister and grandmother.
"He did have some violent tendencies from time to time," Griffin said.
Authorities said Stewart began his attack about 10 a.m. at the nursing home in the North Carolina Sandhills, about 60 miles southwest of Raleigh. It ended when Officer Justin Garner, 25, traded gunfire with Stewart in a hallway, wounding the suspect.
"He just comes in and just starts shooting everything around," said state Sen. Harris Blake of Moore County, relating the story told by sheriff's officials.
Garner was wounded in a leg, and police said Stewart injured two others. One person remained hospitalized Sunday night.
Beverly McNeill said her mother, Pinelake resident Ellery Chisholm, called moments after the gunman stormed into her room and pointed his "deer gun" at her roommate. "They're up here shooting. They're up here shooting," Chisholm frantically told her 14-year-old granddaughter, Tavia, over the phone.
Chisholm said she hid her face in her shirt so she couldn't see the man or what she expected him to do, McNeill said. He didn't shoot, but left the room and began firing down the hallway.
Carthage, a town of about 1,800 people, is home to several noted golf courses, including the Pinehurst resort and its No. 2 course that regularly hosts the U.S. Open.