《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)
《Microsoft Sql server 2008 Internals》索引目录《Microsoft Sql server 2008 Internals》读书笔记--目录索引在上篇文章中主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是:关于FileGroup如果你的系统是用Raid设备直接存放data文件则不需要再借助FileGroup因为FileGroup会增加数据库会影响复杂性和灵活性。如果你的磁盘空间许可你仍然不需要使用FileGroup,只要在同一个驱动器内增加一连串的File就可以了。如果计划在不同的驱动器使用表和索引分区Partition内容应该使用FileGroup关于MultiFile ,可以有两个好处第一你不总是有120G的空间来存放一个文件而3个40G的空间要好找的多。第二、只移动一个40G的文件到另一个分区比移动一个120G的文件要容易也不易出错。关于FileStream FileGroup与FileGroup的不同如果在创建数据时使用了FileStream参数如下- The file and filegroup will grow as data is added to tables that have been created with -- filestream columns: CREATE DATABASE MYMOVIEREVIEWS ON PRIMARY ( NAME REVIEWS_DATA, FILENAME C:/DATA/REVIEWS_DATA.MDF), FILEGROUP MOVIEREVIEWSFSGROUP1 CONTAINS FILESTREAM ( NAME REVIEWS_FS, FILENAME C:/DATA/REVIEWS_FS) LOG ON ( NAME REVIEWS_LOG, FILENAME C:/DATA/REVIEWS_LOG.LDF); GO则在C:/DATA/REVIEWS_FS下会生成一个$FSLOG文件夹和一个FileStream.hdr文件,这个hdr文件就是一个FileStream 包含关文件不能被修改和移动。在运行Alter database时会覆盖为最新的一个。关于ileStream编程模型实现请参照使用 FileStream SQL Server 2008 中编程下表 : 使用 FileStream SQL Server 2008 中编程 | Microsoft Learn引擎盖下的数据库(Databases under the hood)一个数据库由可以持久存储用户对象如用户表和索引等的空间组成这些空间由用户创建数据库时指定。而这些空间被指派到一个或多个操作系统文件。数据库被分成了一个个的逻辑页(logicalpages),每个逻辑面为8KB大小在数据文件中这些逻辑页由数字0-X连续存放X由文件的大小确定你可以通过·定义一个数据库ID(databse ID),一个文件ID或页面数比如3等来指向任何一个页。当你使用Alterdatabase来增加数据库大小时新的空间被加到数据文件的末尾那就意味着新分配空间的第一页是X1。当你使用DBCCShrinkDatabase或DBCCShrinkFile命令时位于最高数字的页面先被移去这些页位于数据文件的末尾然后依次是低数字的页面这保证页面的数字始终是连续的。大家是不是觉得这个跟堆栈的操作很类似啊呵呵。当你创建一个数据库时Create Database时会产生一个惟一的ID,Database ID,你可以在sys.databses视图找到它。该视图返回所有数据库的名称、database_id等参数。空间分配存放数据库表和索引的空间被托管在一个个很小的单元我们称为“范围”(extent),每一个范围由8个连续的页面组成共64K。为了使空间分配更加高效SQL Server 2008并没有完全分配范围到所有小数据量的表,SQL Server 2008有两种类型的范围(Extent)1、标准范围Uniform extent):范围被一个单独的对象所拥有范围内所有8个页面只被各自的一个对象拥有。2、混合范围(Mixed extent):范围被8个页面所共享。SQL Server对于新表或索引分配空间时默认为混合范围当表或索引增加到8个页面时所有内容改为标准范围。当一个表或索引需要更多的空间时SQL Server将会查找已经被分配的可用空间当表或索引的页面数还没有达到8个时SQLServer一定找到一个可用的混合范围。如果表或索引都等于8个页面或更多时SQL Server 必须找到一个新的自由的标准范围。SQL Server使用两种类型的页面来记录范围的分配和可用类型Global Allocation Map(GAM) pages(page 2)和Shared Global Allocation Map(SGAM)pages(page 3).关于GAM/SGAM更多的资料或者想要详细了解一个数据库的空间分配情况请参看http://msdn.microsoft.com/zh-cn/library/ms175195.aspx此外如果范围的总大小超过4GB,超过的部分将由IAM pagespage )来分配。Page Free Space(PFS) page (page )Differential Changed Map(DCM) page (page 6)Bluk Changed MapBCM) page (page 7)数据库快照(Database Snapshot)数据库快照是SQl2005企业版开始提供的一项新功能它允许你创建一个任何数据库的一个只读的实时点。事实上你可以创建多个快照点。快照的一大好处是使用空间比原始数据库少的多。困为它只在存储了已经发生变化的页面(pages)关于SnapShot的更多内容请参看http://msdn.microsoft.com/zh-cn/library/ms175158%28SQL.90%29.aspx需要注意的是、model,master,tempdb这三个系统数据库不能创建快照。、快照继承源数据库的安全限制因为它是只读的你不能修改快照的权限许可。、如果你删除了源数据库的一个用户这个用户仍然在快照中。、快照不能被备份和恢复但是源数据库的备份与恢复不受快照影响。、快照不能被连接(attach)或断开(detach)6、快照不支持全文检索也不能传播源数据库的全文分类(full-text catagies)。下面将继续关注Tempdb数据库邀月注本文版权由邀月和CSDN共同所有转载请注明出处。助人等于自助! 3wlive.cn

相关新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
缓存穿透、击穿与雪崩:原理、区别与Spring Boot+Redis实战解决方案

缓存穿透、击穿与雪崩:原理、区别与Spring Boot+Redis实战解决方案

大家好,我是专注于后端技术分享的博主。在构建高并发系统时,缓存是提升性能、保护数据库的利器。然而,如果使用不当,缓存也可能成为系统稳定性的“阿喀琉斯之踵”。缓存穿透、击穿和雪崩是三个高频出现且极易混淆的故障场景&#…

2026/8/25 23:59:39 阅读更多 →
免费AI大模型调教指南:打造专属网文写作助手

免费AI大模型调教指南:打造专属网文写作助手

1. 先搞清楚“AI小说扩展模式”到底能帮你做什么如果你是一个刚开始写网文、或者卡在L3级别以下的作者,最头疼的可能是情节推进不下去、人物对话干瘪,或者世界观设定不够丰满。自己对着空白文档硬憋,效率很低。这时候,一个能理解你…

2026/8/25 23:59:39 阅读更多 →

最新新闻

哈希表优化二元组统计:蚂蚁集团面试题解析

哈希表优化二元组统计:蚂蚁集团面试题解析

1. 题目背景与核心需求 这道来自蚂蚁集团2026年春招开发岗的编程题&#xff0c;考察的是对二元组数据的处理能力。题目描述如下&#xff1a; 给定两个整数数组nums1和nums2&#xff0c;要求统计满足以下条件的二元组(i,j)的数量&#xff1a; nums1[i] nums2[j] i < j 即…

2026/8/26 2:20:36 阅读更多 →
机器学习驱动的智能招聘推荐系统设计与实践

机器学习驱动的智能招聘推荐系统设计与实践

1. 项目背景与核心价值在2025年的就业市场中&#xff0c;求职者面临的最大痛点不再是信息匮乏&#xff0c;而是如何从海量岗位中精准匹配到最适合自己的机会。传统招聘平台的关键词匹配算法已经无法满足个性化需求&#xff0c;经常出现"高匹配低适配"的情况。这正是我…

2026/8/26 2:20:36 阅读更多 →
Oracle数据库面试23个核心考点与优化实战

Oracle数据库面试23个核心考点与优化实战

1. Oracle数据库面试核心要点解析 作为从业15年的数据库架构师&#xff0c;我整理了Oracle面试中最常被问及的23个技术点及其背后的原理。这些内容不仅是大厂技术面的高频考点&#xff0c;更是日常工作中解决复杂问题的关键知识框架。 1.1 体系结构类问题精要 问题1&#xff…

2026/8/26 2:20:36 阅读更多 →
Java转Vue3技术栈的面试实战与转型策略

Java转Vue3技术栈的面试实战与转型策略

1. 技术转型的实战背景去年团队业务调整需要快速补充Vue3技术栈人才&#xff0c;作为面试官我连续面了17位Java全栈背景的候选人。这场持续三周的招聘马拉松&#xff0c;让我清晰看到了不同技术栈开发者面对前端框架转型时的思维差异。有位五年Java经验的候选人让我印象深刻——…

2026/8/26 2:20:36 阅读更多 →
面试录像转文字工具横评与高效转录技巧

面试录像转文字工具横评与高效转录技巧

1. 面试录像转文字的核心痛点与解决方案在人力资源日常工作中&#xff0c;面试录像的整理归档一直是耗时费力的环节。传统的人工听写方式&#xff0c;一个60分钟的面试视频至少需要3-4小时才能完成文字转录&#xff0c;且准确率受转录人员专业水平影响较大。更棘手的是&#xf…

2026/8/26 2:20:36 阅读更多 →
2026年软件测试面试高频真题与核心能力解析

2026年软件测试面试高频真题与核心能力解析

1. 2026年软件测试面试高频真题深度解析 作为一名在测试领域摸爬滚打多年的老兵&#xff0c;我深知面试准备的重要性。这份"答案之书"不是简单的题库堆砌&#xff0c;而是我结合多年面试官和应聘者双重身份的经验结晶。它更像是一张测试知识地图&#xff0c;帮你系统…

2026/8/26 2:19:36 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要&#xff1a; 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数&#xff08;random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录&#xff1a; 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中&#xff0c;主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段&#xff0c;转入了政务服务的常态化落地应用&#xff1b;在实际使用过程中&#xff0c;它能自主理解办事需求、辅助完成填报申报、开展材料预审&#xff0c;并联动多个系统协同作业&#xff0c;真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/25 3:38:12 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 3:38:23 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/8/26 1:24:05 阅读更多 →