数据库管理员(DBA)的一向基本技术是对SQL数据引擎的系统数据卡的深刻理解,数据库开发人员了解SQLSERVER自带的系统数据库是十分有用的。下面就列出其中的一些系统数据库。
Master 数据库
Master 数据库保存有放在SQLSERVER实体上的所有数据,它还是将引擎固定起来的粘合剂。如果不使用主数据库,SQLSERVER就不能启动,所以你必须小心地管理好这个数据库,对这个数据库进行常规备份是十分必要的。建议在数据库发生更变的时候备份master数据库。
这个数据库包括了诸如系统登录、配置设置、一连接的SERVER等信息,以及用于该实体的其他系统和用户数据库的一般信息。主数据库还存有扩展存储过程,它能够访问外部进程,从而让你能够与磁盘子系统和系统API调用等特×××互。这些过程一般都用C++这样的现代编程语言。
如果不信碰到系统崩溃而必须恢复主数据库的情况,你可以参看MCSE/MCDBA S他evenWarren在TechRepublic上发表的文章。这文章讲的十分透彻,它驾驶了恢复这一种药数据库所需要的一些特殊步骤
model数据库
model 是一个用来在实体上创新数据库的模版数据库。你可以把任何存储过程、视图、用户等放在模型数据库里,这样在创建新数据库的时候,新数据库就会包含你放在模型数据库里的所有对象。因此新建的数据库最小应该有mode数据库那么大。我们在创建数据库的时候会指定数据库的大小,通常会大于mode数据库的大小,这是因为里面填充了空的page.
Tempdb数据库
Tempdb 存有临时对象,例如全局和本地临时表格和存储过程。这个数据库在SQL Server每次重启的时候都会被重新创建,其中包含的对象是依据模型数据库里定义的对象被创建的。除了这些对象,tempdb还存在有其他对象,例如表格变量、来自表格值函数的结果集,以及临时表格变量。由于tempdb会保留SqlServer实体上的所有数据库的这些对象类型,所以对数据库进行优化配置是非常重要的。
在SQL Server 2005里,tempdb数据库还有一项额外的任务;它还被用作一些特性版本库,例如新的快照隔离层和在线索引操作等。关于新的隔离层的简要说明。
Distribution数据库
Distribution 当你的SQLServer实体被配置为复制分发Server时,这个数据库就会被添加到你的系统里。在默认的情况下,数据库的名字就是distribution,你可以更改它的名字。这个数据库用来保存历史和快照、合并和事务复制等的元数据。
Msdb 数据库
Msdb 数据库用来保存于数据库备份、SQL Agent信息、DTS程序包、SQLSERVER任务等信息,以及注入日志转移这样的复制信息。