SQL Server数据库中的系统数据库?

时间:2023-03-08 15:46:27
SQL Server数据库中的系统数据库?

SQL Server的系统数据库分为:master,model,msdb和tempdb

1.Master数据库

Master数据库记录SQL Server系统的所有系统级别信息(表sysobjects)。他记录所有的登录账号(表sysusers)和系统配置。Master数据库是这样一个数据库,他记录所有其他的数据库(表sysdatabases),包括数据库文件的位置。Master数据库记录SQL Server的初始化信息,他始终指向一个可用的最新Master数据库备份。

2.Model数据库

Model数据库是作为在系统上创建数据库的模板。当系统收到“Create DATABASE”命令时,新创建的数据库的第一部分内容从Model数据库复制过来,剩余部分由空页填充,所以SQL Server数据库中必须有Model数据库。

3.Msdb数据库

Msdb数据库供SQL Server代理程序调度警报和作业以及记录操作员时使用。比如,我们备份了一个数据库,会在表backupfile中插入一条记录,以记录相关的备份信息。

4.Tempdb数据库

Tempdb数据库保存系统运行过程中产生的临时表和存储过程。当然,它还满足其他的临时存储要求,比如保存SQL Server生成的存储表等。Tempdb数据库是一个全局咨询,任何连接到系统的用户都可以在该数据中产生临时表和存储过程。Tempdb数据库在每次SQL Server启动的时候,都会清空该数据库中的内容,所以每次启动SQL Server后,该表都是干净的。临时表和存储过程在连接断开后会自动除去,而且当系统关闭后不会有任何活动连接,因此,Tempdb数据库中没有任何内容会从SQL Server的一个会话保存到另一个会话中。

默认情况下,在SQL Server在运行时Tempdb数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为Tempdb数据库定义的大小较小,则每次重新启动SQL Server时,将Tempdb数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可已使用ALTER DATABASE 增加Tempdb数据库的大小。