什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 查看 Session 对应的 Thread 和当前 Command 侦测 Deadlocking 或阻塞问题 查看 Task 执行中哪个 Wait Type 最慢 查看当前 Task 的运行情况 查看 Lock Waits 状态 查看 Latch 等待情况 将所有 wait_type 按照…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 按页编号查看数据表信息 获取查询 SELECT 语句的执行次数排名 看看哪些 Ad-hoc Query 在浪费资源 查看当前处于等待状态的 Task 在等什么 查询谁在占着 Session 连接 查询程序占用的 SPID 信息 查询所有执行 SQL 对应的 sql_handle 查询最近…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 获取存储过程 SP 执行次数排名 查看哪个 SP 执行的平均时间最长 查看哪个 SP 执行的平均时间最不稳定 查看哪个 SP 耗费了最多的 CPU 时间 查看哪个 SP 执行的逻辑读最多 查看哪个 SP 执行的物理读最多 查看哪个 SP 执行的逻辑写最多 获取存储过程 SP 执行次数排名…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 找出哪些表的 Index 需要改进 在指定数据库中查找哪些表的 Index 需要改进 根据缓存的查询计划判断 SP 是否需要优化 发现那些 Index 的写远多于读的表 查看 Index 的 Statistics 最后更新时间 查看哪些 Index 被修改的最频繁 查看 Index 碎片化…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 数据文件和日志文件位置和大小 查看指定数据库文件的大小和可用空间 服务器 Disk 容量和挂载信息 查看 Disk 剩余空间 查询数据库设置的 Recovery Model 查看最近的 Full Backup 信息 获取所有数据库的 VLF 数量 SQL Server 的错误日志位置 查询…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 获取数据库的 CPU 使用率 过去一段时间里 CPU 利用率的历史情况 谁用 CPU 工作的时间最长 服务器上安装了多大的 Memory SQL Server 进程用了多少 Memory 是否申请新的 Memory 无法得到 SQL Server 的最大最小 Memory 配置 通过 Si…
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA". 索引 SQL Server 安装的是什么版本 Windows 操作系统是什么版本 SQL Server 是什么时候安装的 服务器主机名是什么 硬件服务器是谁制造的 服务器硬件是什么配置 服务器的 CPU 有几个核 服务器的 CPU 是什么型号 SQL Server 启动了哪些服务 查看指定服务运…
当在 SQL Server 数据库中创建一张表时,会在多张系统基础表中插入所创建表的信息,用于管理该表.通过目录视图 sys.tables, sys.columns, sys.indexes 可以查看新建的表的元数据信息. 下面使用创建 Customer 表的过程作为示例. USE [TEST] GO DROP TABLE [dbo].[Customer] GO CREATE TABLE [dbo].[Customer]( [ID] [int] NOT NULL, ) NOT NULL, ) N…
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 事务日志(Transaction Log) 事务日志(Transaction Log)存储的是对数据库所做的更改信息,让 SQL Server 有机会恢复数据库.而恢复(Recovery)的过程就是使数据文件与日志保持一致的过程.…
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname(owner_sid) AS [owner] ,create_date ,user_access_desc ,state_desc FROM sys.databases ; master master 数据库包含用于记录整个服务器安装信息和后续创建的所有数据库的信息,包括磁盘空间信息.文件分配信息.…