在Sql Server企业管理器中,提供了一些默认数据库,如tempdb等。这些数据库有什么重要意义?
答案 0 :(得分:3)
TempDB用于SQL Server中的临时工作。无论何时创建临时表,都可以在TempDB内部完成存储。 Here is a very good article from MSDN
以下是MSDN引用的一些要点:
tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用,用于保存以下内容:
•显式创建的临时用户对象,例如:全局或本地临时表,临时存储过程,表变量或游标。
•由SQL Server数据库引擎创建的内部对象,例如,用于存储假脱机或排序的中间结果的工作表。
•由数据库中的数据修改事务生成的行版本,该数据库使用行版本控制隔离或快照隔离事务进行读取提交。
•由功能的数据修改事务生成的行版本,例如:在线索引操作,多活动结果集(MARS)和AFTER触发器。
tempdb中的操作记录最少。这样可以回滚事务。每次启动SQL Server时都会重新创建tempdb,以便系统始终以数据库的干净副本启动。临时表和存储过程在断开连接时自动删除,并且在系统关闭时没有活动连接。因此,tempdb中永远不会有任何内容从SQL Server的一个会话保存到另一个会话。 tempdb上不允许执行备份和还原操作。
还有主数据库(保存有关所有数据库的信息),模型数据库, MSDB (存储有关sql代理的信息, dts,工作等)。
答案 1 :(得分:2)
MASTER - 这将保留服务器上所有数据库的所有服务器级信息和元数据。不要失去这个:))
MSDB - 保存有关SQL代理作业和作业运行历史记录的信息
TEMPDB - 用作临时表和许多其他内容(如排序和分组)的临时“工作空间”
模型 - 当您创建一个新的空白数据库时,它会将MODEL的副本作为模板
分发 - (您只会在已设置复制的服务器上看到此信息)保留待复制的记录。
答案 2 :(得分:0)
SQL Server使用tempdb存储内部对象,例如查询的中间结果。您可以获得更多详细信息here。