04 November,2019 by Jack Vamvas
Question: Currently when I execute the sql code - SELECT CURRENT_USER , the return is my login name . I'd like to change the result to display dbo , as there are a number of application code which rely on the login name to be dbo.
How can I change the recordset to display dbo?
Answer: The easiest way to change the SELECT CURRENT_USER - result is to change the privilege to sysadmin. There are more details on select current_user shows dbo . The quick summary is if the current user is a sysadmin privilege , the recordset returns “dbo”, rather than the logon name.
You mention in the question that you're relying on the CURRENT_USER to use as a value for application code. This is not a great idea - as it introduces risk into your application - which you can avoid. For example , if the login privileges change than the application code will break or cause an unexpected result which may go undetected and make troubleshooting difficult. Introducing this SQL Antipattern will only make the environment you manage more complex.
Develop a method within the application code to gracefully apply the naming schemas - through various functions to check the input parameters
This is only a preview. Your comment has not yet been posted.
As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.
Having trouble reading this image? View an alternate.
Posted by: |