Haber trata de replicar lo de este ejemplo en tu consulta
Cita: use Northwind
go
declare @sql nvarchar(250)
set @sql='select * from Orders where RequiredDate between ''19960801 00:00:00'' and ''19960801 23:59:59'''
exec sp_executesql @sql
El primer error lo descubres leyendo el mensaje que te bota:
El procedimiento espera un parámetro '@statement' de tipo 'ntext/nchar/nvarchar'.
Te dice que el parámetro sólo recibe datos 'ntext/nchar/nvarchar' y tu le quieres pasar un
varchar, modifícalo ahí.
Para el 2do error, cuando coloques
' en sql dinamico tienes que colocar 2
'' para que lo procese como una sóla
'.
Siempre leamos el error porque algunas veces no nos indica mucho pero otras si nos ayuda un monton.
Saludos