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'要查的表名')
相關文章
相關標籤/搜索