varchar(8000) parameter does not truncate longer data
<p>I have two databases on two different machines. Both databases are connected with Link server. I am calling a stored procedure from one database defined in another database.</p>

<p><strong>In database A :-</strong></p>

<p>I have a stored procedure named as SP_1, </p>

<pre><code>create proc SP_1 ( @aaa varchar(8000) )
begin    
 --Logic
end
</code></pre>

<p><strong>In database B :-</strong></p>

<p>I call <em>SP_1</em> of database A from database B.</p>

<p>If I pass more than 8000 characters to <em>SP_1</em> it accepts the argument.</p>

<p>If I would pass a 15000 character string to <em>SP_1</em> then ideally only 8000 character should be able to pass to <em>SP_1</em>, but it is taking all 15000 characters.</p>

<p>I am confused. <strong>Why is the argument's value not truncated to 8000 characters?</strong></p>

<p>Thanks in advance.</p>