以下sql语句仅针对SQL Server数据库。
系统信息查询
sql
-- 数据库版本
SELECT @@VERSION
-- 操作系统参数
EXEC master..xp_msver
-- 服务器所有配置选项
EXEC sp_configure
-- 服务器及实例名
PRINT 'Server Name: ' + @@SERVERNAME;
PRINT 'Instance: ' + @@SERVICENAME;
数据库管理
sql
-- 查看所有数据库信息(包含名称、大小、所有者等)
EXEC sp_helpdb;
用户与权限管理
sql
-- 数据库用户登录信息
EXEC sp_helplogins;
-- 服务器角色成员
EXEC sp_helpsrvrolemember;
对象信息查询
sql
-- 表/索引大小
EXEC sp_spaceused 'table_name'; -- 表空间使用情况
-- 索引信息
EXEC sp_helpindex 'table_name'; -- 基础索引信息
EXEC sp_helpconstraint 'table_name'; -- 约束信息
-- 存储过程与函数
EXEC sp_stored_procedures; -- 列出所有存储过程
EXEC sp_helptext 'procedure_name'; -- 查看源代码
-- 加密存储过程:(加密代码无法通过 sp_helptext 查看,且无官方解密方法。)
CREATE PROCEDURE proc_name WITH ENCRYPTION AS ...
性能与诊断
sql
-- 活动进程监控
EXEC sp_who; -- 所有进程
EXEC sp_who 'active'; -- 活动进程
EXEC sp_lock; -- 锁信息(旧方法)
-- 推荐使用 DMV:
SELECT * FROM sys.dm_exec_requests;
SELECT * FROM sys.dm_tran_locks;
-- 查看进程执行的 SQL
DBCC INPUTBUFFER (spid); -- 实时 SQL 文本
-- 执行计划分析
SET STATISTICS IO ON; -- 磁盘 I/O 统计
SET STATISTICS TIME ON; -- 执行时间统计
SET SHOWPLAN_TEXT ON; -- 文本执行计划
仅供参考。
