你的位置:首页 > 数据库

[数据库]常用的系统存储过程


SQL Server的系统存储过程的名称以'sp_'开头,并存放在Resource数据库中,系统管理员拥有这些存储过程的使用权限,可以在任意数据库中运行系统存储过程,但执行的结果会反映在当前数据库中.

1.sp_database:列出服务器上的所有数据库信息,包括数据库名称和大小

用法:exec sp_databases

2.sp_helpdb:报告有关指定数据库或所有数据库的信息

用法:exec sp_helpdb

3.sp_renamedb:更改数据库的名称

用法:exec sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

4.sp_tables:返回当前环境下可查询的表或试图的信息

用法:

   sp_tables [ [ @table_name = ] 'name' ]   [ , [ @table_owner = ] 'owner' ]   [ , [ @table_qualifier = ] 'qualifier' ]   [ , [ @table_type = ] "type" ]   [ , [@fUsePattern = ] 'fUsePattern'];

5.sp_columns:返回当前环境中可查询的指定表或视图的列信息,包括列的数据类型和长度
用法:
sp_columns [ @table_name = ] object [ , [ @table_owner = ] owner ]   [ , [ @table_qualifier = ] qualifier ]   [ , [ @column_name = ] column ]   [ , [ @ODBCVer = ] ODBCVer ]
6.sp_help:报告有关数据库对象(sys.sysobjects 兼容视图中列出的所有对象)、用户定义数据类型或某种数据类型的信息。
用法:sp_help [ [ @objname = ] 'name' ]

参数

[ @objname =] 'name'

sysobjects 类型或 systypes 表中任何用户定义数据类型的某个对象的名称。name 的数据类型为 nvarchar(776),默认值为 NULL。不能接受数据库名称。


7.sp_stored_procedures:显示存储过程的列表

 
sp_stored_procedures [ [ @sp_name = ] 'name' ]   [ , [ @sp_owner = ] 'schema']   [ , [ @sp_qualifier = ] 'qualifier' ]  [ , [@fUsePattern = ] 'fUsePattern' ]


参数

[ @sp_name = ] 'name'

用于返回目录信息的过程名。name 的数据类型为 nvarchar(390),默认值为 NULL。支持通配符模式匹配。

[ @sp_owner = ] 'schema'

该过程所属架构的名称。schema 的数据类型为 nvarchar(384),默认值为 NULL。支持通配符模式匹配。如果未指定 owner,则遵循基础 DBMS 的默认过程可见性规则。

在 SQL Server 中,如果当前架构包含具有指定名称的过程,则返回此过程。如果指定了非限定存储过程,则数据库引擎按以下顺序搜索此过程:

  • 当前数据库的 sys 架构。
  • 调用方的默认架构(在使用批或动态 SQL 执行时);或者,如果非限定的过程名称出现在另一个过程定义的主体中,则接着搜索包含这一过程的架构。有关默认架构的详细信息,请参阅用户架构分离。
  • 当前数据库中的 dbo 架构。
[ @qualifier = ] 'qualifier'

过程限定符的名称。qualifier 的数据类型为 sysname,默认值为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.schema.name)。在 SQL Server 中,qualifier 表示数据库名称。在某些产品中,它表示表所在数据库环境的服务器名称。

[ @fUsePattern = ] 'fUsePattern'
8.sp_password:添加或修改登录账户的密码
sp_password [ [ @old = ] 'old_password' , ]   { [ @new =] 'new_password' }   [ , [ @loginame = ] 'login' ]

参数

[ @old = ] 'old_password'

旧密码。old_password 的数据类型为 sysname,默认值为 NULL。

[ @new = ] 'new_password'

新密码。new_password 的数据类型为 sysname,无默认值。如果没有使用命名参数,则必须指定 old_password

 


[ @loginame = ] 'login'

受密码更改影响的登录名。login 的数据类型为 sysname,默认值为 NULL。login 必须已经存在,并且只能由 sysadminsecurityadmin 固定服务器角色的成员指定。