Es un tema de COLLATE, puedes forzar el uso del collate correcto en tu SELECT
Trata forzando el collation de la columna que estas comparando en la
busqueda a un collation como Latin1_General_CI_AI asi:
SELECT <columnas..>
FROM <tabla>
WHERE <columna> COLLATE Latin1_General_CI_AI = <valor de la busqueda>
Fijate si la collation contiene "_AI", lo cual significa "accent
insensitive" o no sensitivo a los acentos. Usa la misma collation pero que
esta sea "AS", sensitiva a los acentos.
Puedes ver las collations existentes usando:
select * from ::fn_helpcollations()
go
Ejemplo:
use northwind
go
create table dbo.t1 (
c1 nvarchar(25) collate SQL_Latin1_General_CP1_CI_AI not null
)
go
insert into dbo.t1
select N'a' as c1
union all
select N'á' as c1
go
select *
from dbo.t1
where c1 = N'á'
go
select *
from dbo.t1
where c1 = N'á' collate SQL_Latin1_General_CP1_CI_AS
go
drop table dbo.t1
go
Si buscas algo mas duradero entonces puedes cambiar la collation del
servidor, la db y las columnas tipo caracter de cada tabla.
How to transfer a database from one collation to another collation in SQL
Server
http://support.microsoft.com/kb/325335