I have some stored procedure
CREATE PROC MyProc ( @FullName NVARCHAR(200) = NULL )
AS --.............
When I call this proc as exec MyProc 'Some english text' it works good.
But if call it as exec MyProc 'Русский текст' that is using Russian alphabet, it doesn’t work properly.
And the call exec MyProc N'Русский текст' works good again.
I have a client application and… I need to add N prefix to parameters? If yes, how do I do it?
The N would only be needed (manually) if you are concatenating a string in the .net code.
It’s automatic if you declare a SQLParameter as nvarchar: the framework takes care of it for you.
So your client code is incorrect and opens you up to SQL injection
Anyway, the N says that the string literal is unicode.