I'd try the CLR approach.
Also it sounds like you could match directly rather than via fuzzy, and perhaps only run jaro winkler on an unmatched subset?
When I use this in exercises, it's usually the last type of matching I attempt having exhausted other identifiers or direct matching approaches.