Sembra che tu stia chiamando sp_executesql con un'istruzione VARCHAR, quando deve essere NVARCHAR.
per esempio. Questo darà l'errore perché @SQL deve essere NVARCHAR
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
Quindi:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL