Hi Jhon,
I fonded very usefull you solution
I think there is only just one error in the fuzzy match = 'ends' becouse you save in resultsql ''''+@SearchValue+'%''' instead of '''%'+@SearchValue+''''
I did my personalizations for my use:
1. CONCAT did problem to me, I use SSMS 2016, I don't know why, I replaced with a simple +
2. I put it under transaction + rollback, to evoid to save on db
3. easy way: I reduced bit parameters in input, I manage them comparing ltrim(rtrim(isnull(@...List,''))) = '' to have less error case to manage
4. I added a Schema manager, with include & exclude metods like table management
5. I renamed @IncludeTableList ==> @IncludeOnlyTableList, just renamed to immediate maining
So it is perfect for me ... by now 😉