Я вижу, что Cade Roux опубликовал некоторые общие указания, пока я работал над реальным кодом.
Создать таблицу сопоставления. Если вам не нужны акцентированные замены символов, вы можете обойтись без такой таблицы. Заполните его по мере необходимости, в качестве примера я нанес 200,228 и 131-134.
select number,
char(number) original,
case
when number < 128 then char(number)
when number = 200 then 'E'
when number = 228 or number in (131,132,133,134) then 'a'
else ' '
end replacement
into charmap
from master..spt_values
where type='p' and number between 0 and 255
Тестовый стол
create table tvc (id int identity, vc nvarchar(100))
insert tvc select 'abcdef'
insert tvc select 'abätest'
insert tvc select 'abÔÖÕüûýèend'
Запрос на замену
update tvc
SET vc = (select cast
((select m.replacement+''
from master..spt_values v
inner join charmap m on m.original=substring(tvc.vc,v.number,1) collate French_BIN
where v.type='P' and v.number between 1 and len(tvc.vc)
order by v.number
for xml path(''), type) as varchar(max)))
Примечания:
- используется spt_values один раз для столбцов до nvarchar (2047). Вы можете связать их вместе для более длинных столбцов (макс.)
- сопоставление French_BIN для предотвращения совпадения A с любым из акцентированных A и т. Д.
- xml type и сложная оболочка для преобразования в тип varchar (max) используется для предотвращения появления пробелов
 
Без использования charmap и без специальной обработки акцентированных символов:
update tvc
set vc = (select cast
((select case when ascii(substring(tvc.vc,v.number,1)) < 128
then substring(tvc.vc,v.number,1)
else ' ' end
from master..spt_values v
where v.type='P' and v.number between 1 and len(tvc.vc)
order by v.number
for xml path(''), type) as varchar(max))) r(new)