Is SUSER_SNAME less secure then ORIGINAL_LOGIN?
<p>Is there any reason with regard to security to use <code>ORIGINAL_LOGIN()</code> instead of <code>SUSER_SNAME()</code>? I know the difference between both. </p>

<p>My question concerns using <code>SUSER_SNAME()</code> in the <code>WHERE</code> clause:</p>

<pre><code>select something, login from tb
where login=SUSER_SNAME()
</code></pre>

<p>Using <code>SUSER_SNAME()</code> seems less secure, however it allows for testing.</p>

<pre><code>EXECUTE AS USER = 'test_user'
EXEC [dbo].[my_proc] 
REVERT
</code></pre>

<p>Isn't it a gate for a smart-fox-user to get into a data-chickencoop by changing <code>SUSER_SNAME()</code> in the same way I do for testing? Definitely <code>ORIGINAL_LOGIN()</code> would not allow that.</p>