Keep on going never give up.

Let's Go

SQL Server之数据库存储结构

SQL ServerLonely2019-05-04 23:28:5836次0条

数据库的存储结构分为逻辑存储结构和物理存储结构两种。逻辑存储结构是指数据库中包含哪些对象,这些对象可以实现什么样的功能。物理存储结构是指数据库文件是如何存储在磁盘上的。

数据库的逻辑存储结构

SQL Server的数据库不仅仅是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。实际上,SQL Server的数据库是由表、视图、索引等各种不同的数据库对象组成的,它们分别用来存储特定信息并支持特定功能,构成数据库的逻辑存储结构。SQL Server中包含的对象以及对各对象的简要说明如下表格所示。

数据库对象 说明
由行和列构成的集合,用来存储数据
数据类型 定义列或变量的数据类型,SQL Server提供了系统数据类型,并允许用户自定义数据类型。
视图 由表或其他视图导出的虚拟表
索引 为数据快速检索提供支持,且可以保证数据唯一地辅助数据结构。
约束 用于为表中的列定义完整性
默认值 为列提供的默认值
存储过程 存放在服务器的一组预先编译好的SQL语句
触发器 特殊的存储过程,当用户表中的数据发生改变时,改存储过程将自动执行

用户经常需要在SQL中引用SQL Server对象对其进行操作,所引用的对象名就是逻辑名。


数据库的存储结构

SQL Server中的物理存储结构主要有文件、文件组、页和盘区等,主要描述SQL Server如何为数据库分配空间。在创建数据库时了解SQL Server如何存储数据也是非常重要的,有助于规划和分配数据库的磁盘容量。

(1)文件

SQL Server中的每个数据库都由多个数据文件组成,数据库的所有数据、对象和数据库操作日志均存储在这些操作系统文件中。根据这些文件的作用不同,可以将它们划分为以下3种。

①、主数据文件:主数据文件简称主文件,该文件是数据库的关键文件,包含了数据库的启动信息,并且存储部分或全部数据。每个数据库必须有且只能有一个主数据文件,其默认扩展名为.mdf。

②、 辅助数据文件:辅助数据文件简称辅助文件,用于存储未包括在主文件内的其他数据。辅助文件的默认护展名为.ndf。辅助文件是可选的,用户根据具体情况,可以创建多个辅助文件,也可以不用辅助文件。一般当数据库很大时,有可能需要创建多个辅助文件当数据库较小时,只需要创建主文件,不需要创建辅助文件。

③、日志文件:日志文件用于保存恢复数据库所需的事务日志信息。但在其中记录的是数据库的变化,也就是执行INSERT、UPDATE和DELETE等对数据库进行修改的语句都会记录在此文件中,而执行SELECT等对数据库内容不发生更改的语句则不会记录在该文件中。每个数据库至少有一个日志文件,也可以有多个。日志文件的扩展名是.ldf,日志文件的大小至少是512KB。

SQL Server不强制使用.mdf、.ndf、和.ldf扩展名,但使用它们有助于标识文件的各种类型和用途。

创建一个数据库后,该数据库中至少包含上述主文件和日志文件。这些文件的名字是操作系统文件名,它们不是由用户直接使用的,而是由系统使用的,用户直接在SQL语句中使用的是数据库的逻辑名。例如:Master数据库,Master为其逻辑名,对应的物理文件名为Master.mdf,其日志文件名为Master.ldf。

(2)文件组

文件组是为了管理和分配数据的目的而将文件组织在一起,通常可以为个磁盘驱动器创建一个文件组,然后将特定的表、索引等与该文件组相关联,那么对于这些表的存储查询、修改等操作都在该文件组中。使用文件组可以提高表中数据的查询功能,在SQL Server中有两种类型的文件组

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

②、用户定义文件组:用户定义文件组是通过在CREATE DATABASE或ALTER DATABASE语句中使用FILEGROUP关键字指定的任何文件组。

一个文件只能属于一个文件组,表、索引和大型对象数据可以与指定的文件组相关联。日志文件不包括在文件组内,日志空间与数据空间分开管理。

每个数据库中均有一个文件组被指定为默认文件组。如果创建表或索引时未指定文件组,将假定所有页都从默认文件组分配。注意,一次只能有一个文件组作为默认文件组,用户可以将默认文件组从一个文件组切换到另一个。如果没有指定默认文件组,则将主文件组作为默认文件组。

(3)、创建数据库的参数

前面了解了数据库文件的组成,接下来认识数据库中各个参数的含义,以便在创建数据库时能做出相应的选择,数据库参数如下表格所示。

参数名 说明 建议
主文件(主要数据文件)

默认文件名:数据库名称.mdf

默认路径:安装路径\MSSQL\DATA

存放在非系统磁盘分区中
辅助文件(次要数据文件)

可选

默认文件名:数据库名称.ndf

默认路径:安装路径\MSSQL\DATA

保存在与主文件不同的物理磁盘和文件组中
事务日志(日志文件) 默认文件名:数据库名称.ldf 有且只有一个,最好与数据文件存放在不同的物理磁盘
大小 指定每个数据文件和日志文件的大小,初始大小与Model数据库中使用的值相同 启用“自动增长”
最大值 指定文件可增长的最大值 建议根据硬盘配置和业务数据的具体情况指定最大值
排序规则 指定数据的排序规则 取默认值


小笔记

逻辑名:在SQL Server软件界面中看到的对象名,称为逻辑名。

物理名:数据库物理文件的文件名。

修改数据库物理名的方法:

①、停止数据库服务器 -> 修改数据库物理名 -> 启动数据服务器 -> 原数据库节点已失效,删除 -> 重新附加修改后的数据库文件,找不到数据文件时要重新定位。

②、(推荐此方法)分离数据库 -> 修改数据库物理名 -> 重新附加修改后的数据库文件,找不到数据文件时要重新定位。

修改数据库物理路径的方法:(推荐) 分离数据库 -> 修改数据库物理路径 -> 附加数据文件。

生成脚本方法:选择目标数据库节点 -> 右键选择“任务”-> 生成脚本(注意脚本路径保存位置)




暗锚,解决锚点偏移

文章评论

    嘿,来试试登录吧!