SQL Server 2000 未公开的存储过程

sp_MSget_qualified_name

The sp_MSget_qualified_name stored procedure is used toget 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 tablefrom 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 anobject (it can be table, view, stored procedure or trigger) for the givenobject id, object name, and object owner. If object id, object name, and objectowner 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 tablefrom 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 typestring 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 inthe 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 pathto 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 andutilities.

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 returnsthe 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 databaseowner 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 thecomplete 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 fixcorruption 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 usermode.

See this link for more information:
How can I fix a corruption in asystem 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 cancreate cursor for this purpose, or you can also use the sp_MSforeachdb storedprocedure to accomplish the same goal with less work.

For example, you can use the sp_MSforeachdb stored procedureto 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 thedatabase. You can create cursor for this purpose, or you can also use the sp_MSforeachtable storedprocedure to accomplish the same goal with less work.

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

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

sp_MShelpcolumns

The sp_MShelpcolumns stored procedure returns thecomplete schema for a table, including the length, type, name, and whether acolumn 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 tablein the pubs database, run:

USE pubs

GO

EXEC sp_MShelpcolumns 'authors'

GO

 

sp_MShelpindex

The sp_MShelpindex stored procedure returns informationabout name, status, fill factor, index columns names, and file groups for agiven 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 inthe pubs database, run:

USE pubs

GO

EXEC sp_MShelpindex 'authors'

GO

 

sp_MShelptype

The sp_MShelptype stored procedure returns much usefulinformation 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 inthe pubs database, run:

USE pubs

GO

EXEC sp_MShelptype

GO

 

sp_MSindexspace

The sp_MSindexspace stored procedure returns the size inkb, of the indexes found in a particular table.

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 tablein the pubs database, run:

USE pubs

GO

EXEC sp_MSindexspace 'authors'

GO

 

sp_MSkilldb

The sp_MSkilldb stored procedure sets a database tosuspect mode and uses DBCC DBREPAIR to kill it. You should runthis 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

The sp_MStablespace stored procedure returns the numberof 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 inthe 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

The sp_tempdbspace stored procedure can be used to get thetotal size and the space used by the tempdb database. It is used withoutparameters.

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

The sp_who2 stored procedure returns information aboutcurrent SQL Server 2000 users and processes similar to sp_who, but it providesmore detailed information. sp_who2 returns CPUTime, DiskIO, LastBatch andProgramName 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'

 

sp_MSgetversion
Thisextended stored procedure can be used to get the current version of MicrosoftSQL Server. To get the current SQL Server version, run

EXEC master..sp_MSgetversion

Note. A more common way to retrievethe current SQL Server version (this way provides more information) is to usefollowing SELECT statement:

SELECT @@version


xp_dirtree
This extended stored procedure can be used to get a list of all the foldersfor the folder named in the xp. To get a list of all the folders in theC:\MSSQL7 folder, run:

EXEC master..xp_dirtree 'C:\MSSQL7'


xp_enum_oledb_providers
This extended stored procedure is used to list of all the available OLE DBproviders. It returns Provider Name, Parse Name and Provider Description. Toget a list of all OLE DB providers for your SQL Server, run:

EXEC master..xp_enum_oledb_providers


xp_enumcodepages
This extended stored procedure can be used to list of all code pages,character sets and their description for your SQL Server. To get a list of allcode pages and character sets, run:

EXEC master..xp_enumcodepages


xp_enumdsn
This extended stored procedure returns a list of all System DSNs and theirdescription. To get the list of System DSNs, run:

EXEC master..xp_enumdsn


xp_enumerrorlogs
This extended stored procedure returns the list of all error logs withtheir last change date. To get the list of error logs, run:

EXEC master..xp_enumerrorlogs


xp_enumgroups
This extended stored procedure returns the list of Windows NT groups andtheir description. To get the list of the Windows NT groups, run:

EXEC master..xp_enumgroups


xp_fileexist
You can use this extended stored procedure to determine whether a particularfile exists on the disk or not.

Syntax:

EXECUTE xp_fileexist filename [,file_exists INT OUTPUT]

For example, to check whether thefile boot.ini exists on disk c: or not, run:

EXEC master..xp_fileexist'c:\boot.ini'


xp_fixeddrives
This very useful extended stored procedure returns the list of all harddrives and the amount of free space in Mb for each hard drive.

To see the list of drives, run:

EXEC master..xp_fixeddrives

xp_getnetname
This extended stored procedure returns the WINS name of the SQL Server thatyou're connected to.

To view the name, run:

EXEC master..xp_getnetname


xp_readerrorlog
This extended stored procedure returns the content of the errorlog file.You can find the errorlog file in the C:\MSSQL7\Log directory, by default forSQL Server 7.0.

To see the text of the errorlog file,run:

EXEC master..xp_readerrorlog


xp_regdeletekey
This extended stored procedure will delete an entire key from the registry.You should use it very carefully.

Syntax:

EXECUTE xp_regdeletekey [@rootkey=]'rootkey',
                       [@key=]'key'

 


For example, to delete the key 'SOFTWARE\Test' from 'HKEY_LOCAL_MACHINE', run:

EXEC master..xp_regdeletekey
     @rootkey='HKEY_LOCAL_MACHINE', 
     @key='SOFTWARE\Test'

 


xp_regdeletevalue
This extended stored procedure will delete a particular value for a key inthe registry. You should use it very carefully.

Syntax:

EXECUTE xp_regdeletevalue[@rootkey=]'rootkey',
                         [@key=]'key',
                         [@value_name=]'value_name'

 


For example, to delete the value 'TestValue' for the key 'SOFTWARE\Test' from'HKEY_LOCAL_MACHINE', run:

EXEC master..xp_regdeletevalue
     @rootkey='HKEY_LOCAL_MACHINE',
     @key='SOFTWARE\Test',
     @value_name='TestValue'

 


xp_regread
This extended stored procedure is used to read from the registry.

Syntax:

EXECUTE xp_regread[@rootkey=]'rootkey',
                  [@key=]'key'
                  [, [@value_name=]'value_name']
                  [, [@value=]@value OUTPUT]

 


For example, to read into the variable @test from the value 'TestValue' fromthe key 'SOFTWARE\Test' from the 'HKEY_LOCAL_MACHINE', run:

DECLARE @test varchar(20)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
  @key='SOFTWARE\Test',
  @value_name='TestValue',
  @value=@test OUTPUT
SELECT @test

 


xp_regwrite
This extended stored procedure is used to write to the registry.

Syntax:

EXECUTE xp_regwrite[@rootkey=]'rootkey',
                   [@key=]'key',
                   [@value_name=]'value_name',
                   [@type=]'type',
                   [@value=]'value'

 


For example, to write the variable 'Test' to the 'TestValue' value, key'SOFTWARE\Test', 'HKEY_LOCAL_MACHINE', run:

EXEC master..xp_regwrite
     @rootkey='HKEY_LOCAL_MACHINE',
     @key='SOFTWARE\Test',
     @value_name='TestValue',
     @type='REG_SZ',
     @value='Test'


xp_subdirs
This extended stored procedure is used to get the list of folders for thefolder named in the xp. In comparison with xp_dirtree, xp_subdirs returns onlythose directories whose depth = 1.

This is the example:

EXEC master..xp_subdirs 'C:\MSSQL7'

Note.Keep in mind that theseundocumented extended stored procedures are not officially supported byMicrosoft, and that they may not be found in the next version of SQL Server.

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值