常用系统表、属性、存储过程、函数概述

系统表、属性

系统表的作用:用户自定义的表对自己填充的数据进行操作。而对sql server来说,用户自定义的表就相当于为系统表填充的数据,故用系统表来操作用户数据库,
数据表,存储过程等数据。 系统表操作用户自定义表,用户自定义表操作外来的数据。

1,sysobjects表:万物皆对象,这是一个系统对象表。表,存储过程,触发器都是对象,都存在此表内。此表用crdate 等保存 对象的创建日期。
查找用户表: select *   from sysobjects where xtype = ‘U’ AND status >0
        因dtproperties虽是系统表,但类型为’U', 但status为负数,故得到纯净的用户表时要将其除去。dtproperties这个表里保存的是关系图
查存储过程: select *   from sysobjects where xtype = ‘P’
注:Type是在SQL SERVER 6.0就有的,xType在SQL SERVER 7.0才出现,Type的保留只是为了向后兼容。
     
       相关函数:object_id(‘mytable’),查出对象名在sysobjects表中的id值
                        object_id ( object_id ), 据id查出对象名

2,sys.servers 查看所有本地服务器及链接服务器 select * from master..sysservers 该表只存储在 master 数据库中。

3,sys.databases 查询非sa创建的所有数据库 select * from master..sysdatabases 该表只存储在 master 数据库中。

4, sys.columns 获取表或视图的所有字段,存储过程或函数的所有参数 select name from syscolumns where id=object_id(‘表名’)

5,sys.indexes 数据库中的每个索引。

6, sys.logins  每个登录帐户在表中占一行。

7,   sys.processes 数据库进程信息 ,只存储在 master 数据库中。
   查看用户进程信息 select spid,uid,syslogins.name,login_time,net_address from sysprocesses,syslogins where sys.processes.sid=syslogins.sid

8,sysdepends  查看与某一个表相关的视图、存储过程、函数  select * from sysdepends where depid=object_id(‘表名’)

9,sysmessages SQL SERVER返回的内部错误都有在这里,可自行修改,当错误发生时显示自己指示的信息。

10,sysfiles 保存当前数据库所在文件大小,路径等信息。

11,INFORMATION_SCHEMA 当前数据库的每个 CHECK 约束在该视图中占一行。该信息架构视图返回当前用户对其拥有权限的对象的有关信息。
       查询某个表的哪些字段不允许为空
            select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where IS_NULLABLE=’NO’ and TABLE_NAME=’bdorder’



系统存储过程

1,查看数据库的版本

select @@version

2,查看数据库所在机器操作系统参数
exec master..xp_msver
查看数据库启动的参数
sp_configure
查看数据库启动时间
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看所有数据库名称及大小
sp_helpdb
查看所有数据库用户登录信息
sp_helplogins
3,.查看某数据库下某个数据对象的大小
sp_spaceused @objname

4,查看数据库里所有的存储过程和函数
use @database_name
sp_stored_procedures

sp_help 查看表结构, 存储过程实参

5,查看存储过程和函数的源代码
sp_helptext ‘@procedure_name’

6,查看数据库里用户和进程的信息
sp_who
查看SQL Server数据库里的活动用户和进程的信息
sp_who ‘active’
看进程正在执行的SQL语句:
dbcc inputbuffer (51) 51为进程号

7,查看SQL Server数据库里的锁的情况
sp_lock
进程号1–50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程。spid是进程编号,dbid是数据库编号,objid是数据对象编号


系统函数

1,@@SERVERNAME 返回运行 Microsoft® SQL Server™ 的本地服务器名称。

2,@@SERVICENAME 返回 Microsoft® SQL Server™ 正在其下运行的注册表键名,SQL Server 作为名为 MSSQLServer 的服务在 Microsoft Windows NT® 上运行

3,
 HOST_ID() –主机编号
 HOST_NAME()–主机名
 DB_ID(‘master’) –数据库编号
 DB_NAME(1)      –数据库名称
 OBJECT_ID(‘sysobjects’)  –数据库对象编号
 File_ID(‘master’)        –返回该逻辑文件名的编号
 File_NAME(1)              –返回该文件编号的逻辑文件名
 FILEGROUP_ID(‘primary’)     –返回文件组编号
 FILEGROUP_NAME(1)           –返回文件组名称

4, COL_NAME(OBJECT_ID(‘sysobjects’),1)  –表中列的名称,每个表中列是从…n顺序编号
       INDEX_COL(‘sysobjects’,1,1)   –返回sysobjects中第一个索引第一个键的名称
       APP_NAME() –返回当前使用的工具名称,如:SQL 查询分析器
      @@SPID      –返回当前连接在SQL SERVER中的编号
      @@PROCID    –在SP中使用,查看自己的ID
      Suser_Sid()      –返回登录的SID,可传参,默认返回当前值
      Suser_Sname()    –返回登录的名称,可传参,默认返回当前值
      System_User      –等价于不带参数的SUER_SNAME()
      User_Id()          –返回数据库用户ID,可传参,默认返回当前值
      User_Name()       –返回数据库用户名,可传参,默认返回当前值
      User                –等价于不带参数的USER_NAME()
      Current_User      –等价于不带参数的USER_NAME()
      Session_User      –等价于不带参数的USER_NAME()

5,
获取长度
DATALENGTH(‘s我s’) –返回表达式占用的字节数
COL_LENGTH(‘sysobjects’,'name’) –返回列的定义长度(byte)
日期时间转换为字符串

6,
日期时间转换为字符串
convert(varchar(20),getdate(),120)

7,@@IDENTITY       始终返回当前会话最后的标识值



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值