这里是普通文章模块栏目内容页
SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb

SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb
系统数据库是由 SQL Server内部创建和提供的一组数据库。其中最主要的数据库有 4个。它们分别是Master、Msdb、Model和Tempdb。

详解SQL Server四个系统库--Master、Msdb、Model和Tempdb

一般我们很少去关注这四个,但是这四个库对于sqlserver是很重要,这里简单记录下。

① Master数据库:用于记录所有SQL Server系统级别的信息,这些信息用于控制用户数据库和数据操作。

②Msdb数据库:由 Enterprise Manager和Agent使用,记录着任务计划信息、事件处理信息、数据备份及恢复信息、警告及异常信息。

SQL Server代理服务是SQL Server中的一个Windows服务,用于运行任何已创建的计划作业。作业是指SQL Server中定义的能自动运行的一系列操作。

③Model数据库:SQL Server为用户数据库提供的样板,新的用户数据库都以 model数据库为基础。每次创建一个新数据库时,SQL Server先制作一个model数据库的拷贝,然后再将这个拷贝扩展成要求的规模。

当发出 CREATE DATABASE(创建数据库)语句时,将通过复制 model 数据库中的内容来创建数据库的第一部分,然后用空页填充新数据库的剩余部分。 如果修改 model 数据库,之后创建的所有数据库都将继承这些修改。例如,可以设置权限或数据库选项或者添加对象,例如,表、函数或存储过程。

④tempdb数据库:一个共享的工作空间,SQL Server中的所有数据库都可以使用它。它为临时表和其他临时工作提供了一个存储区。

Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其他临时操作提供存储空间。Tempdb数据库由整个系统的所有数据库使用,不管用户使用哪个数据库,他们所建立的所有临时表和存储过程都存储在tempdb上。SQL Server每次启动时,tempdb数据库被重新建立。当用户与SQL Server断开连接时,其临时表和存储过程自动被删除。

详解SQL Server四个系统库--Master、Msdb、Model和Tempdb

比如说:

select tempT.a from (select * from salars ) as tempT
这里的select * from salars 就形成 了一个临时的中间表,那么这个表是存在tempdb中的;

每一次SQL 重新启动,tempdb中的数据将会完全的重建。所以这个表中是不能存永久数据的。