常用的系统存储过程
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 必须已经存在,并且只能由 sysadmin 或 securityadmin 固定服务器角色的成员指定。