Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

SQL Server 2000 useful undocumented stored procedures

Total Hit ( 3895)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


In this article, I want to tell you about some useful undocumented stored procedures shipped with SQL Server 2000.


sp_MSget_qualified_name

The sp_MSget_qualified_name stored procedure is used to get the qualified name for the given object id.

Syntax

sp_MSget_qualified_name object_id, qualified_name

where

object_id   - is the object id. object_id is int.
qualified_name - is the qualified name of the object. qualified_name
         is nvarchar(512).




This is the example to get the qualified name for the authors table from the pubs database.

USE pubs
GO
declare @object_id int, @qualified_name nvarchar(512)
select @object_id = object_id('authors')
EXEC sp_MSget_qualified_name @object_id, @qualified_name output
select @qualified_name
GO




Here is the result set from my machine:

--------------------------------------
[dbo].[authors]




sp_MSdrop_object

The sp_MSdrop_object stored procedure is used to drop an object (it can be table, view, stored procedure or trigger) for the given object id, object name, and object owner. If object id, object name, and object owner are not specified, then nothing will be dropped.

Syntax

sp_MSdrop_object [object_id] [,object_name] [,object_owner]

where

object_id  - is the object id. object_id is int,
        with a default of NULL.
object_name - is the name of the object. object_name is sysname,
        with a default of NULL.
object_owner - is the object owner. object_owner is sysname,
        with a default of NULL.




This is the example of dropping the titleauthor table from the pubs database.

USE pubs
GO
declare @object_id int
select @object_id = object_id('titleauthor')
EXEC sp_MSdrop_object @object_id
GO




sp_gettypestring

The sp_gettypestring stored procedure returns the type string for the given table id and column id.

Syntax

sp_gettypestring tabid, colid, typestring

where

tabid   - is the table id. tabid is int.
colid   - is the column id. colid is int.
typestring - is the type string. It's output parameter.
       typestring is nvarchar(255).




This is the example to get the type string for the column number 2 in the authors table, from the pubs database.

USE pubs
GO
declare @tabid int, @typestring nvarchar(255)
select @tabid = object_id('authors')
EXEC sp_gettypestring @tabid, 2, @typestring output
select @typestring
GO




Here is the result set from my machine:

-------------------------------
varchar(40)




sp_MSgettools_path

The sp_MSgettools_path stored procedure returns the path to the SQL Server 2000 tools and utilities.

Syntax

sp_MSgettools_path install_path

where

install_path - is the installation path. It's output parameter.
        install_path is nvarchar(260).




This is the example to get the path to the SQL Server 2000 tools and utilities.

USE master
GO
declare @install_path NVARCHAR(260)
EXEC sp_MSgettools_path @install_path OUTPUT
select @install_path
GO




Here is the result set from my machine:

------------------------------------------------------------
C:\Program Files\Microsoft SQL Server\80\Tools




sp_MScheck_uid_owns_anything

The sp_MScheck_uid_owns_anything stored procedure returns the list of the object, owned by the specified user.

Syntax

sp_MScheck_uid_owns_anything uid

where

uid - is the User ID, unique in this database. uid is smallint.




This is the example to get the list of the objects, owned by the database owner 1 in the pubs database.

USE pubs
GO
EXEC sp_MScheck_uid_owns_anything 1
GO




sp_columns_rowset

The sp_columns_rowset stored procedure returns the complete columns description, including the length, type, name, and so on.

Syntax

sp_columns_rowset table_name [, table_schema ] [, column_name]

where

table_name  - is the table name. table_name is sysname.
table_schema - is the table schema. table_schema is sysname,
        with a default of NULL.
column_name - is the column name. column_name is sysname,
        with a default of NULL.




This is the example:

USE pubs
GO
EXEC sp_columns_rowset 'authors'
GO




sp_fixindex

The sp_fixindex stored procedure can be used to fix corruption in a system table by recreating the index.

Syntax

sp_fixindex dbname, tabname, indid

where

dbname - is the database name. dbname is sysname.
tabname - is the system table name. tabname is sysname.
indid  - is the index id value. indid is int




Note. Before using this stored procedure the database has to be in single user mode.

See this link for more information:
How can I fix a corruption in a system table?

This is the example:

USE pubs
GO
EXEC sp_fixindex pubs, sysindexes, 2
GO




sp_MSforeachdb

Sometimes, you need to perform the same actions for all databases. You can create cursor for this purpose, or you can also use the sp_MSforeachdb stored procedure to accomplish the same goal with less work.

For example, you can use the sp_MSforeachdb stored procedure to run a CHECKDB for all the databases on your server:

EXEC sp_MSforeachdb @command1="print '?' DBCC CHECKDB ('?')"


sp_MSforeachtable
Sometimes, you need to perform the same actions for all tables in the database. You can create cursor for this purpose, or you can also use the sp_MSforeachtable stored procedure to accomplish the same goal with less work.

For example, you can use the sp_MSforeachtable stored procedure to rebuild all the indexes in a database:

EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?')"


sp_MShelpcolumns

The sp_MShelpcolumns stored procedure returns the complete schema for a table, including the length, type, name, and whether a column is computed.

Syntax

sp_MShelpcolumns tablename [, flags] [, orderby] [, flags2]

where

tablename - is the table name. tablename is nvarchar(517).
flags   - flags is int, with a default of 0.
orderby  - orderby is nvarchar(10), with a default of NULL.
flags   - flags2 is int, with a default of 0.




To get the full columns description for the authors table in the pubs database, run:

USE pubs
GO
EXEC sp_MShelpcolumns 'authors'
GO




sp_MShelpindex

The sp_MShelpindex stored procedure returns information about name, status, fill factor, index columns names, and file groups for a given table.

Syntax

sp_MShelpindex tablename [, indexname] [, flags]

where

tablename - is the table name. tablename is nvarchar(517).
indexname - is the index name. indexname is nvarchar(258),
      with a default of NULL.
flags   - flags is int, with a default of NULL.




To get the indexes description for the authors table in the pubs database, run:

USE pubs
GO
EXEC sp_MShelpindex 'authors'
GO




sp_MShelptype

The sp_MShelptype stored procedure returns much useful information about system data types and user data types.

Syntax

sp_MShelptype [typename] [, flags]

where

typename - is the type name. typename is nvarchar(517),
      with a default of NULL.
flags  - flags is nvarchar(10), with a default of NULL.




To get information about all built-in and user defined data types in the pubs database, run:

USE pubs
GO
EXEC sp_MShelptype
GO




sp_MSindexspace

The sp_MSindexspace stored procedure returns the size in kb, of the index
Syntax

sp_MSindexspace tablename [, index_name] 

where

tablename - is the table name. tablename is nvarchar(517).

index_name - is the index name. index_name is nvarchar(258), with a default of NULL.

To determine the space used by the indexes from the authors table in the pubs database, run:

USE pubs
GO

EXEC sp_MSindexspace 'authors'

GO





sp_MSkilldb

This stored procedure sets a database to suspect mode and uses DBCC DBREPAIR to kill it. You should run this sp from the context of the master database. Use it very carefully.

Syntax

sp_MSkilldb dbname 

where

dbname - is the database name. dbname is nvarchar(258).

To kill the pubs database, run:

USE master
GO

EXEC sp_MSkilldb 'pubs'

GO




sp_MStablespace

This stored procedure returns the number of rows in a table and the space the table and index use.

Syntax

sp_MStablespace name [, id] 

where

name - is the table name. name is nvarchar(517).

id - id is int, with a default of NULL.

To determine the space used by the authors table in the pubs database, run:

USE pubs
GO

EXEC sp_MStablespace 'authors'

GO


Here is the result set from my machine:

Rows    DataSpaceUsed IndexSpaceUsed
----------- ------------- --------------

23     8       32





sp_tempdbspace

This stored procedure can be used to get the total size and the space used by the tempdb database. It is used without parameters.

Syntax

sp_tempdbspace 

This is the example:

EXEC sp_tempdbspace 

Here is the result set from my machine:

database_name database_size      spaceused
------------- ----------------------- -----------------------------

tempdb      9.750000          .562500





sp_who2

This stored procedure returns information about current SQL Server 2000 users and processes similar to sp_who, but it provides more detailed information. sp_who2 returns CPUTime, DiskIO, LastBatch and ProgramName in addition to the data provided by sp_who.

Syntax

sp_who [loginame] 

where

loginame - the user's login name. If not specified, the procedure reports on all active users of SQL Server.

This example returns information for the 'sa' login:

EXEC sp_who2 'sa'


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.