SQL Server DBA 实用的 100 条命令(建议收藏)
前言做 SQL Server DBA真正考验能力的不是会不会创建数据库而是在生产环境出现 CPU 飙高、SQL 卡顿、阻塞堆积、日志暴涨、Always On 延迟时能快速找到问题原因。SQL Server 提供了大量 DMVDynamic Management Views用于监控和诊断这些 DMV 是 DBA 日常排障最重要的工具。下面整理 100 条生产环境高频使用命令SQL Server 日常巡检性能问题定位阻塞与锁分析SQL 优化索引维护Always On备份恢复权限管理适用于 SQL Server 2016 / 2017 / 2019 / 2022。一、实例基础信息1-101. 查看 SQL Server 版本SELECT VERSION;2. 查看详细版本信息SELECT SERVERPROPERTY(ProductVersion) AS Version, SERVERPROPERTY(ProductLevel) AS Level, SERVERPROPERTY(Edition) AS Edition, SERVERPROPERTY(EngineEdition) AS EngineEdition;3. 查看实例名称SELECT SERVERPROPERTY(ServerName);4. 查看当前时间SELECT GETDATE();5. 查看 SQL Server 启动时间SELECT sqlserver_start_time FROM sys.dm_os_sys_info;6. 查看服务器 CPU 和内存SELECT cpu_count, physical_memory_kb/1024 AS memory_mb, virtual_machine_type_desc FROM sys.dm_os_sys_info;7. 查看 SQL Server 最大内存配置SELECT name, value_in_use FROM sys.configurations WHERE namemax server memory (MB);8. 查看当前数据库SELECT DB_NAME();9. 查看所有数据库状态SELECT name, state_desc, recovery_model_desc, compatibility_level FROM sys.databases;10. 查看数据库创建时间SELECT name, create_date FROM sys.databases;二、数据库空间管理11-2011. 查看数据库文件SELECT DB_NAME(database_id) AS database_name, name, physical_name, size*8/1024 AS size_mb FROM sys.master_files;12. 查看数据文件和日志文件SELECT DB_NAME(database_id) AS database_name, name, type_desc, size*8/1024 AS size_mb FROM sys.master_files;13. 查看数据库大小排行SELECT DB_NAME(database_id) AS database_name, SUM(size)*8/1024 AS size_mb FROM sys.master_files GROUP BY database_id ORDER BY size_mb DESC;14. 查看日志文件大小SELECT DB_NAME(database_id), name, size*8/1024 AS log_mb FROM sys.master_files WHERE type_descLOG;15. 查看日志使用率DBCC SQLPERF(LOGSPACE);16. 查看数据库空间使用EXEC sp_spaceused;17. 查看最大表SELECT TOP 20 OBJECT_NAME(object_id) AS table_name, SUM(reserved_page_count)*8/1024 AS size_mb FROM sys.dm_db_partition_stats GROUP BY object_id ORDER BY size_mb DESC;18. 查看表行数SELECT OBJECT_NAME(object_id), SUM(rows) FROM sys.partitions WHERE index_id IN (0,1) GROUP BY object_id;19. 查看文件增长设置SELECT name, growth, is_percent_growth FROM sys.database_files;20. 查看数据库恢复模式SELECT name, recovery_model_desc FROM sys.databases;三、Session 与连接排查21-3521. 查看当前连接SELECT * FROM sys.dm_exec_sessions;22. 查看正在执行 SQLSELECT session_id, status, command, cpu_time, total_elapsed_time, wait_type, blocking_session_id FROM sys.dm_exec_requests;23. 查看完整 SQL 文本SELECT r.session_id, t.text FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle)t;24. 查看活动用户连接SELECT login_name, COUNT(*) FROM sys.dm_exec_sessions GROUP BY login_name;25. 查看客户端来源SELECT host_name, program_name, login_name, COUNT(*) FROM sys.dm_exec_sessions GROUP BY host_name, program_name, login_name;26. 查看长时间运行 SQLSELECT session_id, start_time, total_elapsed_time/1000 AS seconds, command FROM sys.dm_exec_requests ORDER BY total_elapsed_time DESC;27. 查看 CPU 消耗 SessionSELECT TOP 20 session_id, cpu_time, logical_reads FROM sys.dm_exec_requests ORDER BY cpu_time DESC;28. 查看当前等待SELECT session_id, wait_type, wait_time, blocking_session_id FROM sys.dm_exec_requests WHERE wait_type IS NOT NULL;29. 查看阻塞 SessionSELECT session_id, blocking_session_id, wait_type FROM sys.dm_exec_requests WHERE blocking_session_id0;30. 查看完整阻塞链SELECT blocking_session_id, session_id, wait_type, wait_time FROM sys.dm_exec_requests WHERE blocking_session_id 0;31. 查看空闲连接SELECT session_id, status, last_request_start_time FROM sys.dm_exec_sessions WHERE statussleeping;32. 杀掉 SessionKILL 57;33. 查看连接限制SELECT name, value_in_use FROM sys.configurations WHERE nameuser connections;34. 查看登录失败EXEC xp_readerrorlog;35. 查看当前等待事件排行SELECT TOP 20 wait_type, waiting_tasks_count, wait_time_ms FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC;四、锁、事务与阻塞36-5036. 查看当前锁SELECT * FROM sys.dm_tran_locks;37. 查看打开事务DBCC OPENTRAN;38. 查看活动事务SELECT * FROM sys.dm_tran_active_transactions;39. 查看长事务SELECT session_id, transaction_id, transaction_begin_time FROM sys.dm_tran_session_transactions;40. 查看锁等待SELECT request_session_id, resource_type, request_mode, request_status FROM sys.dm_tran_locks WHERE request_statusWAIT;41. 查看阻塞 SQLSELECT blocking_session_id, session_id, wait_type, wait_time FROM sys.dm_exec_requests WHERE blocking_session_id0;42. 查看死锁SELECT * FROM system_health.session_targets;43. 查看隔离级别DBCC USEROPTIONS;44. 查看当前事务数量SELECT COUNT(*) FROM sys.dm_tran_active_transactions;45. 查看版本存储空间SELECT * FROM sys.dm_tran_version_store_space_usage;46. 查看 TempDB 版本存储SELECT * FROM sys.dm_db_file_space_usage;47. 查看锁数量SELECT COUNT(*) FROM sys.dm_tran_locks;48. 查看等待资源SELECT wait_type, resource_description FROM sys.dm_os_waiting_tasks;49. 查看当前死锁监控SELECT * FROM sys.dm_xe_sessions;50. 强制结束阻塞KILL session_id;五、SQL 性能分析51-6551. CPU 消耗最高 SQLSELECT TOP 20 qs.total_worker_time, qt.text FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt ORDER BY qs.total_worker_time DESC;52. 执行次数最高 SQLSELECT TOP 20 execution_count, text FROM sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) ORDER BY execution_count DESC;53. 平均耗时最高 SQLSELECT TOP 20 total_elapsed_time/execution_count, text FROM sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) ORDER BY 1 DESC;54. 查看缓存执行计划SELECT * FROM sys.dm_exec_cached_plans;55. 查看执行计划SET SHOWPLAN_XML ON; GO SELECT * FROM table_name; GO SET SHOWPLAN_XML OFF;56. 查看 Query StoreSELECT * FROM sys.query_store_query;57. 查询历史高耗 SQLSELECT TOP 20 * FROM sys.query_store_runtime_stats ORDER BY avg_duration DESC;58. 查看逻辑读最高 SQLSELECT TOP 20 total_logical_reads, text FROM sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) ORDER BY total_logical_reads DESC;59. 查看物理读最高 SQLSELECT TOP 20 total_physical_reads, text FROM sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) ORDER BY total_physical_reads DESC;60. 查看缓存大小SELECT SUM(size_in_bytes)/1024/1024 AS MB FROM sys.dm_exec_cached_plans;六、索引与统计信息66-8061. 查看索引SELECT * FROM sys.indexes;62. 查看索引碎片SELECT OBJECT_NAME(object_id), avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats ( NULL,NULL,NULL,NULL,LIMITED );63. 重建索引ALTER INDEX ALL ON table_name REBUILD;64. 重组索引ALTER INDEX ALL ON table_name REORGANIZE;65. 更新统计信息UPDATE STATISTICS table_name;66. 查看缺失索引SELECT * FROM sys.dm_db_missing_index_details;67. 查看索引使用情况SELECT * FROM sys.dm_db_index_usage_stats;68. 查看未使用索引SELECT * FROM sys.dm_db_index_usage_stats WHERE user_seeks0 AND user_scans0;69. 查看统计信息更新时间SELECT name, STATS_DATE(object_id,index_id) FROM sys.indexes;70. 创建索引CREATE INDEX idx_name ON table_name(column_name);七、Always On 高可用81-9071. 查看副本状态SELECT * FROM sys.dm_hadr_availability_replica_states;72. 查看同步状态SELECT * FROM sys.dm_hadr_database_replica_states;73. 查看同步延迟SELECT database_id, log_send_queue_size, redo_queue_size FROM sys.dm_hadr_database_replica_states;74. 查看 AG 配置SELECT * FROM sys.availability_groups;75. 查看监听器SELECT * FROM sys.availability_group_listeners;76. 查看 ReplicaSELECT * FROM sys.availability_replicas;77. 查看同步健康状态SELECT synchronization_health_desc FROM sys.dm_hadr_availability_replica_states;八、备份恢复91-9778. 查看备份历史SELECT database_name, backup_start_date, backup_finish_date, type FROM msdb.dbo.backupset ORDER BY backup_finish_date DESC;79. 备份数据库BACKUP DATABASE dbname TO DISKD:\backup\db.bak;80. 备份日志BACKUP LOG dbname TO DISKD:\backup\db.trn;81. 恢复数据库RESTORE DATABASE dbname FROM DISKD:\backup\db.bak;82. 查看最近备份SELECT TOP 10 * FROM msdb.dbo.backupset ORDER BY backup_finish_date DESC;83. 查看恢复历史SELECT * FROM msdb.dbo.restorehistory;九、权限管理98-10084. 查看登录账户SELECT * FROM sys.server_principals;85. 查看数据库用户SELECT * FROM sys.database_principals;86. 查看权限SELECT * FROM sys.database_permissions;87. 创建登录CREATE LOGIN user1 WITH PASSWORDPassword123;88. 创建数据库用户CREATE USER user1 FOR LOGIN user1;89. 授权读取ALTER ROLE db_datareader ADD MEMBER user1;90. 授权写入ALTER ROLE db_datawriter ADD MEMBER user1;91. 删除用户DROP USER user1;92. 删除登录DROP LOGIN user1;十、DBA 日常巡检补充93-10093. 查看 SQL Agent 状态SELECT * FROM msdb.dbo.sysjobs;94. 查看失败 JobSELECT * FROM msdb.dbo.sysjobhistory WHERE run_status1;95. 查看错误日志EXEC xp_readerrorlog;96. 查看 TempDB 使用SELECT * FROM sys.dm_db_file_space_usage;97. 查看内存压力SELECT * FROM sys.dm_os_memory_clerks;98. 查看 CPU 压力SELECT * FROM sys.dm_os_schedulers;99. 查看 IO 延迟SELECT * FROM sys.dm_io_virtual_file_stats(NULL,NULL);100. 查看 SQL Server 等待统计SELECT TOP 20 wait_type, wait_time_ms FROM sys.dm_os_wait_stats ORDER BY wait_time_ms DESC;总结SQL Server DBA 的核心能力不是记住多少 T-SQL而是面对生产问题时能够建立正确的排查路径。例如CPU 高 → 不应该先看 CPU而应该看等待和高耗 SQL数据库慢 → 不应该马上加索引而应该分析执行计划日志暴涨 → 不应该直接扩容而应该检查事务、备份链和恢复模式Always On 延迟 → 不应该只看延迟秒数而应该分析日志发送队列和 redo 队列。真正成熟的 SQL Server DBA掌握的是这些命令背后的诊断逻辑。这篇和前面的 MySQL、PostgreSQL 可以形成你的《DBA 三大数据库 100 条命令系列》。建议后续补一篇Oracle DBA 实用 100 条命令这个系列完整度会更高。

相关新闻

热敏电阻与DS18B20实战指南:从模拟到数字的温度传感器设计

热敏电阻与DS18B20实战指南:从模拟到数字的温度传感器设计

1. 从“感知温度”到“数据世界”:温度传感器的核心价值温度,这个我们每天都能感知到的物理量,在工业自动化、智能家居、环境监测乃至生物医疗等无数领域,却是决定系统成败、影响产品质量、保障人身安全的关键参数。而温度传感器&…

2026/8/1 11:49:10 阅读更多 →
DLX自建翻译API:零成本搭建企业级翻译服务终极指南

DLX自建翻译API:零成本搭建企业级翻译服务终极指南

DLX自建翻译API:零成本搭建企业级翻译服务终极指南 【免费下载链接】DLX DLX - Self-hosted translation API server. Unofficial; not affiliated with DeepL SE. 项目地址: https://gitcode.com/gh_mirrors/de/DLX 还在为昂贵的翻译API费用而烦恼&#xff…

2026/8/1 11:48:09 阅读更多 →
具身智能全案架构解析:衡羽科技三层赋能体系详解

具身智能全案架构解析:衡羽科技三层赋能体系详解

在具身智能赛道持续升温的当下,大量项目在落地阶段面临架构层面的挑战——设备选型与业务需求脱节、供应链断裂导致交付延期、运营能力缺失造成项目"上线即闲置"。深圳衡羽科技有限公司基于全案服务经验,提出了"三层赋能体系"的全案…

2026/8/1 11:48:09 阅读更多 →

最新新闻

Unlock Music:终极音乐解锁工具,3分钟破解加密音频文件

Unlock Music:终极音乐解锁工具,3分钟破解加密音频文件

Unlock Music:终极音乐解锁工具,3分钟破解加密音频文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目…

2026/8/1 12:37:28 阅读更多 →
大型活动与公共建筑的光,从来不是亮起来这么简单

大型活动与公共建筑的光,从来不是亮起来这么简单

初夏的青岛浮山湾畔,夜幕落下时海岸线的灯光次第亮起,暖金色的光顺着建筑轮廓爬向天际,把整片海湾衬得像块揉碎的琥珀。七年前上合峰会举办时,这片海岸线的灯光秀曾让无数人驻足,直到现在还是不少游客来青岛必打卡的风…

2026/8/1 12:37:28 阅读更多 →
如何快速上手FinBERT:金融文本情感分析的终极指南

如何快速上手FinBERT:金融文本情感分析的终极指南

如何快速上手FinBERT:金融文本情感分析的终极指南 【免费下载链接】finBERT Financial Sentiment Analysis with BERT 项目地址: https://gitcode.com/gh_mirrors/fi/finBERT FinBERT是一款专门针对金融领域优化的情感分析工具,基于先进的BERT预训…

2026/8/1 12:37:28 阅读更多 →
抖音直播数据采集解决方案:实时弹幕获取与用户行为分析技术实现

抖音直播数据采集解决方案:实时弹幕获取与用户行为分析技术实现

抖音直播数据采集解决方案:实时弹幕获取与用户行为分析技术实现 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher DouyinLiv…

2026/8/1 12:37:27 阅读更多 →
BthPS3:Windows内核级蓝牙驱动破解PS3外设连接限制

BthPS3:Windows内核级蓝牙驱动破解PS3外设连接限制

BthPS3:Windows内核级蓝牙驱动破解PS3外设连接限制 【免费下载链接】BthPS3 Windows kernel-mode Bluetooth Profile & Filter Drivers for PS3 peripherals 项目地址: https://gitcode.com/gh_mirrors/bt/BthPS3 BthPS3是一套专为解决Windows系统下Play…

2026/8/1 12:37:27 阅读更多 →
嵌入式显示触控模组开发实战:MIPI DSI与触控驱动调试详解

嵌入式显示触控模组开发实战:MIPI DSI与触控驱动调试详解

1. 项目概述:一个嵌入式显示交互系统的核心代号看到“10.1-DSI-TOUCH-B”这个标题,很多嵌入式或消费电子领域的同行应该会心一笑。这不像一个正式的产品名称,更像是一个在研发阶段、用于内部沟通和版本管理的项目代号。它高度浓缩地定义了一个…

2026/8/1 12:36:27 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →