SQL Server
文章平均质量分 88
三思呐三思
这个作者很懒,什么都没留下…
展开
-
SQL Server表空间碎片化回收
1 锁片化的产生1.1 产生碎片化的原因1、在B-tree索引中,表数据按照聚集索引的排序进行物理存储,若聚集索引离散化比较严重,那么可能会出现较为严重的碎片化问题;2、随着业务的DML操作,会伴随着数据页分裂的情况,这种情况下也会导致表空间碎片化问题;3、大表通过delete清理无效历史数据,delete产生碎片化空间;1.2 碎片化的影响表空间碎片化越严重越容易影响对该表的查询效率,这是因为当表碎片化比较严重时,数据库根据执行计划扫描满足需求的数据页会扫描较多“无效页面”,导致查询操作需要更原创 2022-01-19 12:02:35 · 2398 阅读 · 2 评论 -
SQL Server 事物日志空间收缩
数据库存储空间使用率是我们运维中需要必不可少的一个资源监控点,甚至说它的监控要比CPU、内存、IO使用率还要重要。当SQL Server实例磁盘使用率达到高水位时,我们首先需要判断究竟是哪部分空间的空间占用最大,然后再进行对应的措施考虑是否可以释放空闲空间,本章考虑的是当SQL Server事务日志空间使用率较高时,我们应该如何排查定位以及处理。1 定位空间瓶颈点1.1 OS层面操作系统层面,可以直接查各个磁盘目录文件大小定位磁盘空间消耗最大数据库文件。1.2 数据库层面通过数据库查询系统表定位数原创 2022-01-19 12:00:37 · 2266 阅读 · 0 评论 -
SQL Server慢SQL排查指南
文章目录一、系统表详解1.1 dm_exec_query_stats1.2 dm_exec_sql_text1.3 dm_exec_requests二、问SQL排查常用语句对于SQL Server的慢SQL信息排查,我们可以利用一些系统自带的统计信息表来帮助我们进行问题SQL定位。一、系统表详解1.1 dm_exec_query_stats该表记录了SQL Server中相关的执行计划的统计信息,从该表中我们可以从不同的维度分析是否存在一些资源消耗较大的SQL。重点关注字段及其含义:sql_h原创 2021-07-20 22:13:30 · 3788 阅读 · 1 评论 -
SQL Server如何实现定时备份作业
文章目录在生产环境中,运维同学总会说数据库的备份是重中之重,数据库备份为什么会这么重要呢?数据库备份又可以为我们来做哪些?1、数据库备份的作用开发/运维同学数据库误操作、硬件故障导致的数据丢失,表损坏等情况,数据库备份是我们的最后一道保护伞按照备份集、按时间点进行数据恢复用于业务测试若数据库为完整/大日志容量恢复模式,周期性的事物日志备份可有效对事物日志文件进行截断来达到空间复用,避免事物日志文件耗尽磁盘空间2、SQL Server如何进行周期性备份任务1)【管理】 -> 【维护计划原创 2021-07-09 11:33:17 · 4347 阅读 · 0 评论 -
SQL Server备份恢复
文章目录一、备份1.1 完整备份1.2 差异备份1.3 事务日志备份1.4 文件和文件组备份1.5 关于备份的关注点1.6 三种备份方式对比二、恢复2.1 恢复的3种方式2.2 还原数据库中重点关注2.3 数据恢复一、备份1.1 完整备份1、备份的特点完整数据库备份表示备份完成时的整个数据库的数据。备份耗时比较久,备份数据集比较大备份期间会有一定的IO资源消耗备份期间,数据库的事务日志不能截断。若数据库变更频繁,很容易导致日志空间不断上涨完整备份的数据是一份完整的数据库,恢复不需要任何依赖原创 2021-07-08 13:47:52 · 3553 阅读 · 1 评论 -
SQL Server事物日志
文章目录一、事物日志作用二、事务日志原理三、事物日志管理3.1 事物日志监控3.2 事物日志收缩一、事物日志作用每个 SQL Server 数据库都具有事务日志,用于记录所有事务以及每个事务对数据库所做的修改。事物日志的作用主要如下:WAL事务预提交,减少了脏页刷盘的IO消耗,极大的提高了数据库性能崩溃恢复,当数据库发生意外宕机,数据库启动时会进行崩溃恢复的流程,会先读取事务日志进行前滚,将数据恢复到崩溃前的状态;然后进行回滚操作,对事务日志中未提交的事务进行rollback,以此保证数据库中数据原创 2021-07-07 10:54:48 · 3148 阅读 · 3 评论 -
tempdb空间暴涨问题
文章目录一、tempdb数据库介绍1.1 基本概念1.2 限制二、如何定位tempdb空间暴涨2.1 tempdb库基本信息查询2.2 tempdb空间使用监控三、如何处理tempdb暴涨一、tempdb数据库介绍1.1 基本概念tempdb数据库是一个全局资源,可供连接到SQL Server数据库的所有用户使用,主要用于以下几方面:显式创建的临时用户对象比如全局或者本地的临时表/索引、临时存储过程、表变量、表值函数中返回的表或游标。数据库引擎创建的内部对象spool、游标、临时的大对原创 2021-06-30 22:19:06 · 3217 阅读 · 2 评论 -
SQL Server事务与锁
一、事务1.1 事务的ACID原子性:一个事务内的操作,要么全部成功过、要么全部失败一致性:保证事务的一致性状态,事务成功前、失败后数据保持一致隔离性:事务与事务之间互不干扰持久性:事务提交后,数据不会丢失1.2 事务的控制1、显式事务begin transaction : 显式的开始一个事务rollback transaction : 显式的对一个事务进行回滚commit transaction : 显式提交一个事务2、隐式事务隐式提交需要开启数据库的 implicil_t原创 2020-07-15 23:03:04 · 500 阅读 · 0 评论 -
SQL Server隔离级别
文章目录一、隔离级别1.1 几种数据读取现象1.2 隔离级别介绍1.3 隔离级别相关操作1、隔离级别相关信息与设置2、RC隔离级别3、RCS隔离级别4、RR隔离级别5、SNAPSHOT隔离级别一、隔离级别1.1 几种数据读取现象1)脏读脏读就是指读取到了未提交的事务数据2)不可重复读在同一事务中,两次读取的数据记录内容不一致,更偏向与数据的更改。3)幻读主要指在一个事务中查看或者更新某一范围记录,由于其他事务对该范围内写入了新数据,导致事务一没有返回或更新新插入的数据记录,让人感觉出现了幻读原创 2020-07-15 22:13:36 · 1402 阅读 · 0 评论 -
SQL Server索引介绍
文章目录一、索引的分类二、聚集索引表和堆表1、聚集索引表2、堆表三、索引相关命令1、索引缺失统计2、无效索引统计3、查看索引的统计信息一、索引的分类聚集索引SQL Server中的聚集索引是以B-tree的数据结构进行存储的。B-tree中每个数据页都是一个索引节点,最上端的索引节点被称为根节点,最下端的索引节点被称为叶子节点,根节点与叶子节点之间的索引节点为中间节点。在聚集索引中,叶子节点包含了所有行记录数据。聚集索引是按照索引键有序存储的。相对于堆存储,聚集索引的范围查询是非常高效的。一原创 2020-07-14 14:26:53 · 783 阅读 · 0 评论 -
SQL Server系统数据库介绍
文章目录一、基本介绍1.1 数据库组成1.2 数据文件1、数据文件2、日志文件1.3 五大系统数据库二、master数据库2.1 基本信息2.2 限制2.3 使用建议三、msdb数据库3.1 基本信息3.2 限制四、model数据库4.1 基本信息4.2 限制五、resource数据库5.1 基本信息5.2 resource库相关命令六、tempdb数据库6.1 基本概念6.2 限制6.3 tempdb库库相关命令一、基本介绍1.1 数据库组成数据库的存储结构分为逻辑存储结构和物理存储结构:逻辑存原创 2020-07-12 22:27:06 · 3011 阅读 · 0 评论