Zní to, jako byste volal sp_executesql s příkazem VARCHAR, když to musí být NVARCHAR.
např. To způsobí chybu, protože @SQL musí být NVARCHAR
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
Takže:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL