Som du sa, FREETEXT slår upp varje ord i din fras, inte frasen som ett allt. För det måste du använda CONTAINS påstående. Så här:
SELECT Description
FROM Projects
WHERE CONTAINS(Description, '"City Hall"')
Om du vill få rankningen av resultaten måste du använda CONTAINSTABLE . Det fungerar ungefär likadant, men det returnerar en tabell med två kolumner:[Key] som innehåller söktabellens primärnyckel och [Rank], som ger dig rankningen av resultatet.