SQL server-常用语句

1、查询语句

select * from sys.databases;--查询所有库
SELECT Name FROM Master..SysDatabases ORDER BY Name;--查询所有库
select * from sys.tables;--查询所有表
SELECT Name FROM SysObjects Where XType='U' ORDER BY Name;--查询所有表
select * from sysaltfiles;--主数据库 保存数据库的文件
select * from syscharsets;--主数据库 字符集与排序顺序
select * from sysconfigures;--主数据库 配置选项
select * from syscurconfigs;--主数据库 当前配置选项
select * from sysdatabases;--主数据库 服务器中的数据库
select * from syslanguages;--主数据库 语言 
select * from syslogins;--主数据库 登陆帐号信息 
select * from sysoledbusers;--主数据库 链接服务器登陆信息 
select * from sysprocesses;--主数据库 进程 
select * from sysremotelogins;--主数据库 远程登录帐号 
select * from syscolumns;--每个数据库 列 
select * from sysconstrains;--每个数据库 限制 
select * from sysfilegroups;--每个数据库 文件组 
select * from sysfiles;--每个数据库 文件 
select * from sysforeignkeys;--每个数据库 外部关键字 
select * from sysindexs;--每个数据库 索引 
select * from sysmenbers;--每个数据库 角色成员 
select * from sysobjects;--每个数据库 所有数据库对象 
select * from syspermissions;--每个数据库 权限 
select * from systypes;--每个数据库 用户定义数据类型 

2、运维语句

--查询当前库中的所有表和行数
select a.name,b.rows
from sys.sysobjects as a inner join sys.sysindexes as b on a.id = b.id
where (b.indid in (0,1)) and (a.type = 'u') order by a.name,b.rows desc;

--查询数据库阻塞
SELECT * FROM  sys.sysprocesses WHERE blocked<>0;

--查询SQL连接分布
SELECT Hostname FROM  sys.sysprocesses WHERE hostname<>'';

--查看SQLServer并行度
SELECT value_in_use  FROM sys.configurations WHERE name = 'max degree of parallelism';

--查询最消耗CPU的SQL Top10
select top(10) st.text as Query, qs.total_worker_time, qs.execution_count from sys.dm_exec_query_stats as qs CROSS Apply sys.dm_exec_sql_text(qs.sql_handle) AS st order by qs.total_worker_time desc;

--查询数据库中记录行数超过100万的表有哪些
select distinct obj.name ,ind.rows from sysindexes ind left join sysobjects obj on ind.id = obj.id where ind.rows>=1000000 order by ind.rows desc;

--查询SqlServer客户端连接数
select * from (SELECT sys.dm_exec_connections.client_net_address as 客户端地址 , sys.dm_exec_sessions.program_name as 客户端程序名 , sys.dm_exec_sessions.host_name as 客户端机器名, sys.dm_exec_sessions.login_name as 客户端登录名, COUNT(sys.dm_exec_connections.session_id) AS 客户端连接数 FROM sys.dm_exec_sessions INNER JOIN sys.dm_exec_connections ON sys.dm_exec_sessions.session_id = sys.dm_exec_connections.session_id GROUP BY sys.dm_exec_connections.client_net_address , sys.dm_exec_sessions.program_name , sys.dm_exec_sessions.host_name , sys.dm_exec_sessions.login_name) tba ORDER BY 客户端地址 , 客户端程序名;

--查看客户端连接地址
SELECT distinct C.CLIENT_NET_ADDRESS FROM sys.sysprocesses S, sys.dm_exec_connections C WHERE S.spid = C.SESSION_ID;

--查看当前终端会话信息
select * from sys.dm_exec_sessions;

--查询当前的连接信息
select * from sys.dm_exec_connections;

--查看所有表的自增列
select b.name as [表名] ,a.name as [列名],a.max_length as [列类型长度],a.is_identity as [自增字段]
from sys.columns a 
inner join sys.tables b on b.object_id=a.object_id
where is_identity = 1
posted @   Enzo_Ocean  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示