目录
一、数据库构架
数据库存储是按物理方式在磁盘上作为两个或更多的文件实现。用户使用数据库时使用的主要是逻辑组件,例如表
每个 SQL Server 实例有四个系统数据库(master、model、tempdb 和 msdb)以及一个或多个用户数据库
二、系统数据库
数据库文件 | 物理文件名 | 默认大小典型安装 |
master主数据 | Master.mdf | 11.0 MB |
master 日志 | Mastlog.ldf | 1.25 MB |
tempdb 主数据 | Tempdb.mdf | 8.0 MB |
tempdb 日志 | Templog.ldf | 5 MB |
model 主数据 | Model.mdf | 75 MB |
model 日志 | Modellog.ldf | 75 MB |
msdb 主数据 | Msdbdata.mdf | 12.0 MB |
msdb 日志 | Msdblog.ldf | 2.25 MB |
1.master数据库
master数据库由系统表组成,记录了安装以及随后创建的所有数据库的信息。包括数据库所用磁盘空间、文件分配、空间使用率、系统级的配置设置、登录帐户密码、存储位置等。
master数据库是系统的关键,不允许任何人对它进行修改。必须经常保留一份它的当前备份的拷贝。
2. tempdb数据库
tempdb数据库记录了用户创建的所有临时表、临时数据和临时的存储过程。该数据库是一个全局资源,允许所有可以连接上的SQL服务器访问。
注意,每次SQL Server重新启动,该数据库被重新创建而不是恢复,所以以前用户创建的任何临时对象(表、数据、存储过程等)都将丢失。也就是说,每次SQL Server重启,tempdb数据库都是空的。
3. model数据库
model数据库是建立新数据库的模板。每当创建一个新的数据库时(比如用企业管理器去创建,或用CREATE DATABASE创建),SQL Server就会根据model数据库的内容来形成新数据库结构的基础,把后面初始化为空,以准备放数据;同时将系统表复制到刚创建的数据库中去。
严格禁止删除model数据库,否则SQL Server系统将无法使用。
4. msdb数据库
msdb数据库是由SQL Server Agent服务使用的数据库。由于SQL Server Agent主要执行一些事先安排好的任务,所以该数据库多用于进行复制、作业调度以及管理报警等活动。
如果不使用代理服务功能,我们可以忽略这个数据库。
三、用户数据库
在SQL Server中,一个用户数据库是由用户定义的用来永久存储像表和索引这样的数据库对象的磁盘空间构成,这些空间被分配在一个或多个操作系统文件上。
用户数据库和系统数据库一样,也被划分成许多逻辑页(每个逻辑页的大小是8KB),在每个数据库文件中页是从0到X连续编号,上限值X是由文件的大小决定的。
通过指定数据库ID、文件ID和页号,可以引用任何一页。当扩大文件时,新空间被追加到文件的末尾。
用户数据库在sysdatabases表中的记录
使用CREATE DATABASE语句创建一个新的用户数据库,该数据库就被赋予一个惟一的数据库ID,或者说dbid,同时在master 数据库中的sysdatabases表中就会插入一个新行。