首页 > 技术文章 > SQL Server 系统数据库

terrence 2016-04-13 08:32 原文

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

master

master 数据库记录 SQL Server 系统的所有系统级信息。如果 master 数据库不可用,则 SQL Server 无法启动。

用于保存下列各项

  • 端点、链接服务器和系统配置设置
  • 登录帐户
  • 记录所有其他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息

tempdb

tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例的所有用户使用,并可用:

  • 显式创建的临时用户对象,例如:全局或局部临时表、临时存储过程、表变量或游标。
  • SQL Server 数据库引擎创建的内部对象和中间结果
  • 由使用已提交读(使用行版本控制隔离或快照隔离事务)的数据库中数据修改事务生成的行版本。
  • 由数据修改事务为实现某些功能而生成的行版本,这些功能包括:联机索引操作、多个活动的结果集 (MARS) 以及 AFTER 触发器。
  • SQL Server 重起时,数据会消失
  • SQL Server启动时会重建tempdb

msdb

  • SQL Server Agent的后台数据库
  • 存储作业,警报和操作信息
  • 存储作业调度信息
  • 备份与还原历史记录
  • 数据库邮件信息

model

model 数据库用作在 SQL Server 实例上创建的所有数据库的模板。数据库的全部内容(包括数据库选项比如数据库大小,排序规则,恢复模式等)都会被复制到新的数据库。因为每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须始终存在于 SQL Server 系统中。启动期间,也可使用 model 数据库的某些设置创建新的 tempdb。

resource

这个数据库不能通过SSMS的object explore 查看,它是一个只读数据库,主要包含SQL Server包括的系统对象。系统对象在物理上保留在resource数据库中,但在逻辑上显示在每个数据库的SYS架构中。

推荐阅读