日期:2014-05-16  浏览次数:20387 次

Sql Server系统数据库的作用
系统数据库



Sql Server的系统数据库分为:master、model、msdb和tempdb,这四个数据库在SQL Server中各司其职,作为研发人员,很有必要了解这几个数据库的职责,下面我们来看看这几个数据库的作用。



1.  Master 数据库



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



2.  Model 数据库



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



3.  Msdb 数据库



Msdb 数据库供SQLServer 代理程序调度警报和作业以及记录操作员时使用。比如,我们备份了一个数据库,会在表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 数据库的大小