第四章

系统数据库

sqlserver系统数据库如下(一共五个系统数据库)

  • master
  • tempdb
  • model
  • msdb
  • Resuorce

1.Master数据库

(1)master数据库记录了所有系统级别的信息,包括元数据(登录账户)、端点、链接服务器和系统的配置设置。需要注意的是系统对象不在master库中,而在resource库中;
(2)mater数据库还记录了所有其他数据库的存在、数据库的文件的位置;
(3)master数据库不可用,则SQLServer实例就无法启动;
(4)不能给master数据库添加文件或文件组,不能更改master数据库的排序规则,默认是实例的排序规则;
(5)不能删除master数据库,不能删除guest用户;
总结:用于记录所有SQL Server系统级别的信息,这些信息用于控制用户数据库和数据操作。

2、Model数据库

(1)model数据库是一个模板数据库,在create database时,将通过复制model数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分;
(2)model数据库必须存在,model数据库的全部内容都会被复制到新数据库中,例如设置的权限、数据库选项、表、函数、存储过程等等;
(3)model数据库的数据和日志文件默认初始大小为8MB;
(4)每次系统重启创建的tempdb数据库的模板都来自于model;
总结:SQL Server为用户数据库提供的样板,新的用户数据库都以 model数据库为基础。每次创建一个新数据库时,SQL Server先制作一个model数据库的拷贝,然后再将这个拷贝扩展成要求的规模。

3、Msdb数据库

(1)msdb用来保存SQLServer代理作业和执行计划的配置信息;
总结:由 Enterprise Manager和Agent使用,记录着任务计划信息、事件处理信息、数据备份及恢复信息、警告及异常信息。

4、Tempdb数据库

(1)tempdb数据库保存系统运行过程中产生的临时表、存储过程、全局或局部临时表及索引、表变量等等;俗称临时数据库
(2)tempdb数据库是一个全局资源,任何连接到系统的用户都可以在该数据库中产生临时表和存储过程;
(3)每次重启SQLServer的时候。都会清空该数据库中的内容,所以每次系统重启后,tempdb总是一个干净的数据库副本(模板来自model数据库);
(4)tempdb中的操作是最小日志记录操作,以便回滚事务;
总结:一个共享的工作空间,SQL Server中的所有数据库都可以使用它。它为临时表和其他临时工作提供了一个存储区。

5、Resource数据库

(1)Resource数据库是一个只读的数据库,里面包含了SQLServer中所有的系统对象,默认是隐藏的,在SSMS里看不到这个数据库;
(2)Resource数据库数据文件和日志文件的存储路径为C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn下,文件名叫mssqlsystemresource.mdf和mssqlsystemresource.ldf,位置不应该移动;

数据库文件

主要数据文件:主要数据文件是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。
次要数据文件:次要数据文件包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。次要数据文件的推荐文件扩展名是 .ndf。
事物日志文件:日志文件包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件,但可以不止一个。日志文件的推荐文件扩展名是 .ldf。

文件组:SQL文件组就是文件的逻辑集合。它的目的是为了方便数据的管理和分配。文件组可以把指定的文件组合在一起。