14.1 SQL Server系统数据库介绍

SQL Server系统数据库

简介

默认情况下,SQL Server提供四个主要系统数据库:

  • master
  • msdb
  • model
  • tempdb

master

master数据库存储SQL Server实例的所有系统级信息,包括:

  • 服务器配置设置
  • 登录帐户
  • 链接的服务器信息
  • 启动存储过程
  • 用户数据库的文件位置

如果master数据库不可用,SQL Server将无法启动。使用master数据库时,应注意:

首先,始终拥有master数据库的当前备份。如果master数据库已损坏,就可以从备份中恢复它。

其次,在完成以下操作后尽快备份master数据库:

  • 创建、修改和删除任何数据库
  • 更改服务器配置
  • 更新登录帐户,包括添加、删除和修改

第三,不要再master数据库创建用户对象。

最后,不要把master数据库的TRUSTWORTHY数据库属性设置为ON

请注意,如果TRUSTWORTHY数据库属性为ON,SQL Server将信任数据库及其内容,这增加了安全风险。默认情况下,TRUSTWORTHYOFF。参考:有关TRUSTWARTHY选项的更多信息

msdb

msdb由SQL Server代理用于调度作业和警报。此外,它还存储SQL代理作业的历史记录。

msdb支持以下功能:

  • 作业和警报
  • 数据库邮件
  • 服务代理
  • 数据库的备份和恢复历史记录

model

SQL Server使用model数据库作为创建其他数据库的模板。

创建新数据库时,SQL Server会将model数据库的内容(包括数据库基本配置)复制到新数据库中。

如果修改model数据库,则后面创建的所有数据库都将更改。

每当SQLServer启动时,它都会从model数据库创建tempdb数据库。因此,model数据库必须始终存在于SQL Server上。

tempdb

tempdb数据库存储显式创建的临时用户对象,如临时表和表变量

此外,tempdb存储数据库引擎创建的内部对象。例如,tempdb数据库还存储运行包含ORDER BY子句的查询的即时排序结果。

SQL Server每次启动时都会重新创建tempdb数据库。由于tempdb是非永久性存储,因此无法备份或恢复它。

总结

  • SQL Server提供了四个系统数据库,包括mastermsdbmodeltempdb
  • master系统数据库存储SQL Server实例的系统级信息。
  • msdb数据库由SQL Server代理用于作业和警报。
  • model数据库用作创建其他数据库的模板。
  • tempdb系统数据库存储临时对象,并在每次SQL Server启动时重新创建。
posted @ 2023-01-30 10:56  平元兄  阅读(453)  评论(0编辑  收藏  举报