print is limited to 8K varchar and 4K nvarchar (since nvarchar is double byte).
PRINT msg_str | @local_variable | string_expr
Arguments
msg_str
Is a character string or Unicode string constant. For more information, see Constants (Transact-SQL).
@local_variable
Is a variable of any valid character data type. @local_variable must be char or varchar, or it must be able to be implicitly converted to those data types.
string_expr
Is an expression that returns a string. Can include concatenated literal values, functions, and variables. The message string can be up to 8,000 characters long; any characters after 8,000 are truncated. For more information, see Expressions (Transact-SQL).