There are a number of documented and undocumented system stored procedures in MS SQL Server that are helpful for every web developer working with databases. From the developer’s perspective, here’s a list of 5 System stored procedures that are my favorite.
1. sp_help
Purpose
sp_help gives information about database objects. If you wanted to quickly know the structure of a table but are too lazy to look for the schema diagram or to dig for the table you are interested in within the Object explorer, sp_help is here to help
Syntax
It can be used without parameters to get the information of objects in the database.
It can be used with a parameter to get the information of a particular objectExamples
On the Adventure Works database:
Executing sp_help would yield the following recordset
Executing sp_help ‘Person.Address’ yields the following recordset
Note that it is not required to enclose the object name within single quotes unless the object name has a dot in it.
2. sp_helptext
Purpose
sp_help gives definition information of objects such as system stored procedures, user defined stored procedures, user defined functions, triggers etc.
Syntax
On the Adventure Works database:
Executing a sp_helptext 'dbo.uspGetBillOfMaterials' yields the following definition of the user defined stored procedure
3. sp_MSforeachtable
Purpose
Caution – This is an undocument stored procedure and should not be relied on. It is not listed in SQL BOL and should be used at your own risk.
This is a very useful stored procedure for executing a command for ALL the tables in the database. Say you wanted to get the number of rows in all the tables in your database, you could write:Example
For each table in the database, it would list the table name and the number of rows in that table.
Want to find out how much space is used by each table in your database. Try this:
4. sp_depends
Purpose
Ever wanted to make a change to a table but were not sure what other objects are dependent on this table? There could be views or stored procedures that could break due to this change. In situations like this, sp_depends come to the rescue.
Syntax
In the Adventure Works database, say I wanted to find out all the objects that are dependent on the Person.Address table.
By executing sp_depends 'Person.Address', the result set is as shown
5. sp_spaceused
Purpose
This is a simple stored procedure that gives information on the size of the database or the database objects
Syntax
If it is used without parameters, it would return the database information
If it is used with a parameter, it would return the information on the object
Example
In the Adventure Works database, executing the sp_spaceused without parameters gives the following result
Executing the sp_spaceused ‘Person.Address’ (on a table object)
Conclusion
This article gives a brief description on 5 useful system stored procedures that developers can use on a daily basis. Happy coding!