sql server 经常使用sql

 

sql server 经常使用sql

 
 --统计一下数库中的各表的记录数
  select   a.name as 表名,max(b.rows) as 记录条数   from   sysobjects   a   ,sysindexes   b     
  where   a.id=b.id   and   a.xtype='u'   
group   by   a.name   
order by max(b.rows) desc


--查进程
select * from sys.sysprocesses 


--查用户相关信息
select * from sys.sysusers    


--此命令能够看到链接状况  
Select * from sys.dm_exec_connections 


--此命令能够看到有多少会话,一个链接能够有多个会话
select session_id,status,login_name,login_time,* from sys.dm_exec_sessions  

--查请求的ID,请求的状态
/*后台。请求是后台线程,例如资源监视器或死锁监视器。
正在运行。请求正在运行。
可运行。请求正在运行,因为仲裁不足,所以要临时进行妥善安排。
睡眠。没有要作的工做。
挂起。请求正在等待工做线程选取。
已挂起。请求正在等待某个事件。
*/
Select sql_handle,* from sys.dm_exec_requests 


--查询一个数据库中有没有死锁
select    
    request_session_id spid,   
    OBJECT_NAME(resource_associated_entity_id) tableName    
from    
    sys.dm_tran_locks   
where    
    resource_type='OBJECT'

    
--杀死死锁进程
kill spid   



--查询一个数据库所占的磁盘空间
 select sum(a)/1024 as GB from 

(  SELECT
 TableName = obj.name,
 TotalRows = prt.rows,
 a = SUM(alloc.used_pages)*8/1024
 FROM sys.objects obj
 JOIN sys.indexes idx on obj.object_id = idx.object_id
 JOIN sys.partitions prt on obj.object_id = prt.object_id
 JOIN sys.allocation_units alloc on alloc.container_id = prt.partition_id
 WHERE
 obj.type = 'U' AND idx.index_id IN (0, 1)
 GROUP BY obj.name, prt.rows
) as data


--查询一个库中的全部表
select * from sys.tables


sqlserver中各个系统表的做用
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登录账号信息
sysoledbusers 主数据库 连接服务器登录信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登陆账号
syscolumns 每一个数据库 列
sysconstrains 每一个数据库 限制
sysfilegroups 每一个数据库 文件组
sysfiles 每一个数据库 文件
sysforeignkeys 每一个数据库 外部关键字
sysindexs 每一个数据库 索引
sysmenbers 每一个数据库 角色成员
sysobjects 每一个数据库 全部数据库对象
syspermissions 每一个数据库 权限
systypes 每一个数据库 用户定义数据类型
select 列名=name from syscolumns where id=object_id(N'要查的表名')
相关文章
相关标签/搜索