Stored Procedures - Do you avoid starting user stored procedures with system prefix "sp_" or "dt_"?

Updated by TiagoAraujo 5 years ago. See history

123
<introEmbed body={<> System stored procedures are created and stored in the master database and have the sp\_ prefix. System stored procedures can be executed from any database without having to qualify the stored procedure name fully using the database name master. It is strongly recommended that you do not create any stored procedures using sp\_ as a prefix. SQL Server always looks for a stored procedure beginning with sp\_ in this order: 1. The stored procedure in the master database. 2. The stored procedure based on any qualifiers provided (database name or owner). 3. The stored procedure using dbo as the owner, if one is not specified. </>} />

Therefore, although the user-created stored procedure prefixed with sp_ may exist in the current database, the master database is always checked first, even if the stored procedure is qualified with the database name.

Important:  If any user-created stored procedure has the same name as a system stored procedure, the user-created stored procedure will never be executed.

Acknowledgements

Adam Cogan
Related rules

Need help?

SSW Consulting has over 30 years of experience developing awesome software solutions.

We open source.Loving SSW Rules? Star us on GitHub. Star