设为首页 收藏本站
查看: 1117|回复: 0

[经验分享] SQL备份与恢复之文件和文件组

[复制链接]

尚未签到

发表于 2018-10-22 11:46:03 | 显示全部楼层 |阅读模式
  SQL Server 将数据库映射为一组操作系统文件。数据和日志信息绝不会混合在同一个文件中,而且一个文件只由一个数据库使用。文件组是命名的文件集合,用于帮助数据布局和管理任务,例如备份和还原操作。
DSC0000.png

  一、数据库文件
  SQL Server 数据库具有三种类型的文件:

  •   主数据文件。主数据文件是数据库的起点,指向数据库中的其他文件。每个数据库都有一个主数据文件。主数据文件的推荐文件扩展名是 .mdf。
  •   次要数据文件。除主数据文件以外的所有其他数据文件都是次要数据文件。某些数据库可能不含有任何次要数据文件,而有些数据库则含有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
  •   日志文件。日志文件包含着用于恢复数据库的所有日志信息。每个数据库必须至少有一个日志文件,当然也可以有多个。日志文件的推荐文件扩展名是 .ldf。
  SQL Server 不强制使用 .mdf、.ndf 和 .ldf 文件扩展名,但使用它们有助于标识文件的各种类型和用途。
  在 SQL Server 中,数据库中所有文件的位置都记录在数据库的主文件和 master 数据库中。大多数情况下,SQL Server 数据库引擎使用 master 数据库中的文件位置信息。
  二、逻辑和物理文件名称
  SQL Server 文件有两个名称:

  •   logical_file_name 。logical_file_name 是在所有 Transact-SQL 语句中引用物理文件时所使用的名称。逻辑文件名必须符合 SQL Server 标识符规则,而且在数据库中的逻辑文件名中必须是唯一的。
  •   os_file_name 。os_file_name 是包括目录路径的物理文件名。它必须符合操作系统文件命名规则。
  如果多个 SQL Server 实例在一台计算机上运行,则每个实例都会接收到不同的默认目录来保存在该实例中创建的数据库文件。
  三、数据库快照文件
  数据库快照存储其“写入时复制”数据时所用的文件格式取决于快照是由用户创建,还是在内部使用。
  用户创建的数据库快照将其数据存储在一个或多个稀疏文件中。稀疏文件技术是 NTFS 文件系统的一项功能。首先,稀疏文件不包含任何用户数据,并且没有为稀疏文件分配用于用户数据的磁盘空间。
  下图说明了写入时复制操作。快照关系图中的浅灰色方框表示稀疏文件中尚未分配的潜在空间。收到源数据库中页的第一次更新时,数据库引擎将写入文件,操作系统向快照的稀疏文件分配空间并将原始页复制到该处。然后,数据库引擎更新源数据库中的页。下图说明了此类写入时复制操作。
DSC0001.png

  更新页之后,对快照的读操作仍访问原始页,该原始页现在存储在稀疏文件中。下图说明了对访问源数据库中更新页的快照的读操作。此读操作从快照的稀疏文件中读取原始页。
DSC0002.png

  四、数据库文件组
  为便于分配和管理,可以将数据库对象和文件一起分成文件组。有两种类型的文件组:

  •   主文件组。主文件组包含主数据文件和任何没有明确分配给其他文件组的其他文件。系统表的所有页均分配在主文件组中。

  •   用户定义文件组。用户定义文件组是通过在 CREATE DATABASE 或>
  日志文件不包括在文件组内。日志空间与数据空间分开管理。
  一个文件不可以是多个文件组的成员。表、索引和大型对象数据可以与指定的文件组相关联。在这种情况下,它们的所有页将被分配到该文件组,或者对表和索引进行分区。已分区表和索引的数据被分割为单元,每个单元可以放置在数据库中的单独文件组中。
  每个数据库中均有一个文件组被指定为默认文件组。如果创建表或索引时未指定文件组,则将假定所有页都从默认文件组分配。一次只能有一个文件组作为默认文件组。db_owner 固定数据库角色成员可以将默认文件组从一个文件组切换到另一个。如果没有指定默认文件组,则将主文件组作为默认文件组。
  五、文件和文件组示例
  以下示例在 SQL Server 实例上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件。
DSC0003.png



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-624941-1-1.html 上篇帖子: sql语句查询执行过程 下篇帖子: SQL 备份与恢复之恢复模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表