MSSQL---extents
一、MSSQLextent分两种: 1. Mixed extent:每个表或索引创建时,MSSQL并不给它分配一个extent,而是在mixed extnet内分配一个页,空间需求扩大时,再分配一个…,直到表或索引的空间需求超过8个页,系统为它分配一个extent,这个extent就是uniform. extent; 2. Uniform. extent:当表或索引的空间需求超过8个页时,系统就为它分配一个uniform. extent; 二、MSSQL用几种页来记录extent的使用: 1. GAM:global allocation map,用来记录extent是否已经被使用,每个位记录一个extent,0为已用,1表示未用,一个页大约有8000字节、64000个位,每个GAM页可以记录64000个extent,每个extent为8*8k=64k,那么GAM页最终可以记录64k*64000大小的空间,即大约4G的空间,也就是说GAM只能记录4G大小的空间,超过4G必须另外分配GAM,第一和第二个GAM间隔511230个页,第一个GAM总是文件的第三个页(page 2); 2. SGAM:shared global allocation map,用来记录extent是否被用作mixed extent,每个位记录一个extent,如果为1,说明对应的extent用作mixed extent且其中还有可用的页,为0,说明其为uniform. extent或mixed extent但已没可用页。同样,一个SGAM可以记录4G的空间,超过这个大小就需要另外分配SGAM,第一个和第二个SGAM间隔511230个页,第一个SGAM总是文件的第四个页(page 3); 3. 另外一种页——IAM,index allocation map,用来记录每个对象在一个文件中extents的情况,也就是记录对象被分配了一个文件中的extents,IAM页头有八个槽,分别用来指向表或索引的头八个页,因为它们都被分配在mixed extents里,后面页头还有一个map,其中每个位对应一个extent,如果相应文件中extent的位是1,就说明这个extent属于该对象,否则,就不属于该对象;该页可以在文件的任何位置分配,它也可以不指向它所在文件的extents,注意:IAM仅仅对应被一个分配单位使用的文件中的4G范围的extents使用情况,对应511230个页,一旦超过这些页,系统就要分配另外一个IAM页,一个对象的各个IAM也都被链接在一起,IAM头部有指向第一个extent的地址。每个分配单位中,只包含一个表或索引分区的一类页,多个分区要用到多个IAM,而同一个分区不同类的页,也要用到不同的IAM页。 4. PFS, page free space,用来记录每个文件中每个页如何使用的,文件的第二个页为PFS页,其后第8088个也是PFS页,因为一个PFS页中只有8088个字节可以用来记录页的使用情况。 5. DCM,differential changed map,用来记录自从上次全备以来改变过的extents,主要用于差异备份需要,文件的第七个页(page 6)为DCM页,也是只能覆盖4G的空间,超过4G就要分配另一个DCM页,中间要间隔511230个页。 6. BCM,bulk changed map,用来记录最小或批量日志操作改变的extents,文件的第八个页为BCM页,只能覆盖4G的空间,超过4G就要重新分配BCM页,中间间隔511230个页。 7. 至此,可以总结如下:文件的第一个页为文件头页,即page 0,第二个页为PFS页,第三个页为GAM页,第四个页为SGAM页,第七个页为DCM页,第八个页为BCM页,而IAM页可以在文件任何位置分配。
MSSQL---extents的更多相关文章
- [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)
前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- MSSQL远程连接
背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...
- 学习笔记 MSSQL显错手工注入
和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...
- MSSQL部分补丁的列表及下载地址(持续更新)
整理了MSSQL部分补丁的列表及下载地址(截至2016-11-18),供参考下. Edition Version Date Published Download Link SQL Server 201 ...
- .NET+IIS+MSSQL配置
好久没配置.NET+IIS+MSSQL了,跟以前不大一样了.总结下吧. 环境: Windows Server 2012 标准版 x64 SQL Server Express 2014 一.HTTP E ...
- C++-数据库【1】-C++连接MSSQL数据库
测试环境—— 系统:Win7 64bit 编译器:VC++ 2015 数据库:MSSQL 2008 R2 #include <Windows.h> #include <stdio.h ...
- mssql与mysql 数据迁移
概要: mssql向mysql迁移的实例,所要用到的工具bcp和load data local infile. 由于订单记录的数据是存放在mssql服务器上的,而项目需求把数据迁移到mysql ser ...
- 一起来测试天兔Lepus3.8 Beta版本的MSSQL部分
一起来测试天兔Lepus3.8 Beta版本的MSSQL部分 产品介绍:http://www.lepus.cc/下载地址:http://www.lepus.cc/soft/18手册地址:http:// ...
- 一个防止误删MSSQL数据库的方法
一个防止误删MSSQL数据库的方法 环境:Windows2008 R2 .SQL 2012 今天发现一个有趣的现象,之前数据库服务器的其中几个数据库做过镜像,不过现在已经删除了,今天又要在那台服务器上 ...
随机推荐
- up61博客模版版本v1.0.0
经过两天的努力 终于把博客模板框架写出来了. 表示写模板累死了,很久没有写样式了,还是那么难搞.没有PHP写函数爽. 不管怎么样 第一版出来了.以下是部分截图.预览 当然在示例部署到项目上的时候 ,部 ...
- IDEA 使用tomcat7-maven-plugin
使用了这个插件就不需要配置tomcat了,直接用maven去run就行 配置方法:pom里添加:(之所以用tomcat7是因为如果直接用依赖下载很难下载到tomcat8-maven-plugin,详情 ...
- SIMD---MMX代码优化
单指令多数据流,即SIMD(Single Instruction, Multiple Data)指一类能够在单个指令周期内同时处理多个数据元素的指令集,利用的是数据级并行来提高运行效率,典型的代表由I ...
- 《阿里巴巴Android编码规范》阅读纪要(二)
版权声明:本文出自汪磊的博客,转载请务必注明出处. 本篇继续上一篇<阿里巴巴Android编码规范>阅读纪要(一) ,还是建议各位同学有时间完整阅读一下<阿里巴巴Android编码规 ...
- Java面试通关要点汇总集
Java面试通关要点汇总集 2018-03-09 转自:Java面试通关要点汇总集 文章目录 1. 基础篇 1.1. 基本功 1.2. 集合 1.3. 线程 1.4. 锁机制2. 核心篇 2 ...
- 毫秒级检测!你见过带GPU的树莓派吗?
树莓派3B+英特尔神经计算棒进行高速目标检测 转载请注明作者梦里茶 代码: 训练数据预处理: https://gist.github.com/ahangchen/ae1b7562c1f93fdad1d ...
- object转字符串
1.obj.tostring() obj为空时,抛异常. 2.convert.tostring(obj) obj为空时,返回null: 3.(string)obj obj为空时,返回null:obj不 ...
- Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...
- 利用CVE-2017-11882拿到持久性shell
利用CVE-2017-11882拿到持久性shell 近日微软又爆出一个严重漏洞,利用该漏洞可以直接拿到目标机shell.这么好玩的东西怎么能错过了,于是搭建环境复现了一把. 首先去GitHub上下载 ...
- firemonkey ListView DynamicAppearance
Go Up to FireMonkey Application Design Contents [hide] 1 Customizing the List View Appearance Prope ...