Het klinkt alsof je sp_executesql aanroept met een VARCHAR-statement, terwijl het NVARCHAR moet zijn.
bijv. Dit geeft de fout omdat @SQL NVARCHAR moet zijn
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
Dus:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL