Det låter som att du anropar sp_executesql med en VARCHAR-sats, när den måste vara NVARCHAR.
t.ex. Detta kommer att ge felet eftersom @SQL måste vara NVARCHAR
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
Så:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL