Sam Bradford wasn't there, but Sunday night's first half reminded a Vikings follower or two of the 2015 debacle at Levi's Stadium, when quarterback Teddy Bridgewater was sacked five times in a convincing loss to start the regular season.

The Vikings would go on to win the division, and Mike Zimmer's bunch can hope for a similar end after this weekend's preseason 'dress rehearsal' culminated in a 14-0 hole to the 49ers at halftime when all the starters were done for the night.

San Francisco cracked open its playbook, sacking Bradford three times by peppering in blitzes and twists out of varied fronts. They caught the Vikings off guard to start. Bradford was hit four times in the first seven pass plays. San Francisco outside linebacker Elvis Dumervil, one of Vikings defensive line coach Andre Patterson's former proteges, wreaked some havoc while attacking from different spots along the line.

However, the first sack was on Bradford after dropping the snap during a play-action exchange with Dalvin Cook.

"We saw some pressures tonight," Bradford said. "Yes, they dialed it up a little bit. But to see Nick [Easton] and Pat [Elflein] both kind of have to go through the communication process once they figured out what they were doing with No. 58 [Elvis Dumervil] and their odd front and making sure he was accounted for. I thought we did a good job."

With the starting offense done for the preseason, Bradford said he's ultimately glad the Vikings were tested by some schemes up front before the Sept. 11 regular season opener vs. New Orleans. Overall, Bradford took five sacks in 12 preseason drives behind some shaky pass blocking.

"I think the preseason is winning different situations that you can put yourself in," Bradford said. "I think it's better in the long run. I think especially in the third game tonight you'd rather see blitzes tonight than just straight coverage and then entering into Week 1 get teed off on with a bunch of blitzes."

The Vikings mixed the offensive line, giving three series to left tackle Riley Reiff's debut before he and left guard Alex Boone took a seat. Dumervil also gave backup left tackle Rashod Hill some trouble, forcing Bradford to improvise, including the impressive 28-yard toss to Adam Thielen while on the run.

But even when all five projected starters were in, the 49ers found success. Especially when rushing the right side. Arik Armstead squeezed by tight end David Morgan and right tackle Mike Remmers for one sack. Then Dumervil, part of a 49ers five-man blitz, worked Remmers into the backfield on third-and-10 for another sack.

"I thought it was sporadic tonight," Zimmer said. "It's hard to see which guys are getting beat from where I'm at. If they are getting beat, or I don't really know. When Reiff was in there I assume he did okay. I didn't notice him, so. I'll know more tomorrow when I watch the tape."