T-SQL

T-SQL 知识量:16 - 67 - 243

3.2 系统数据库><

master数据库- 3.2.1 -

T-SQL中的master数据库是SQL Server中的系统数据库,它记录了SQL Server系统的所有系统级信息。master数据库在SQL Server启动时起到关键的作用,并记录了所有其他数据库的存在、数据库文件的位置以及SQL Server的初始化信息。如果master数据库被损坏,则SQL Server将无法正常工作。

master数据库在SQL Server中是非常重要的,它存储了所有其他数据库的元数据信息,包括数据库的名称、结构、对象和权限等。此外,master数据库还存储了SQL Server的系统配置信息,例如实例名称、服务器名称、当前数据库名称等。

与其他数据库不同,master数据库在SQL Server实例启动时必须存在。如果master数据库损坏或丢失,将导致SQL Server无法启动。因此,在生产环境中,应定期备份master数据库以防止意外情况发生。

model数据库- 3.2.2 -

T-SQL中的model数据库是SQL Server中的系统数据库之一,它是一个模板数据库,用于创建其他数据库。model数据库包含了创建其他数据库所需的基本模板,例如表、视图、存储过程等。

当执行CREATE DATABASE语句创建新数据库时,SQL Server会将model数据库的副本作为新数据库的基础。这个副本包含了model数据库中的所有对象和数据,以及SQL Server在创建新数据库时所需的其他信息。

通过修改model数据库,可以改变创建新数据库时的默认行为。例如,可以修改model数据库中的存储过程、视图和表等对象,以改变新创建的数据库中的默认行为。

此外,可以使用T-SQL语句修改model数据库。例如,可以使用ALTER DATABASE语句修改model数据库的属性,例如修改数据库的排序规则、行页压缩等。

msdb数据库- 3.2.3 -

T-SQL中的msdb数据库是Microsoft SQL Server中的一个系统数据库,主要用于SQL Server Agent的管理和作业调度。SQL Server Agent是一个后台任务调度程序,用于自动化例如备份、数据导入/导出、执行批处理文件等任务。

msdb数据库的主要作用包括:

  • 存储SQL Server Agent作业、作业步骤、作业调度、警报和操作的信息。这些信息用于定义、调度和执行自动化的数据库维护任务。

  • 记录SQL Server Agent操作的历史记录,例如作业的执行状态、开始和结束时间等。这些信息可以帮助数据库管理员监控和故障排除SQL Server Agent作业的执行情况。

  • 存储与SQL Server Agent相关的系统配置信息,例如代理帐户信息、代理启动参数等。

msdb数据库是SQL Server正常运行所必需的,并且不应该直接修改其中的数据。数据库管理员可以使用T-SQL语句或SQL Server Management Studio(SSMS)来管理和监控SQL Server Agent作业和msdb数据库中的相关信息。

tempdb数据库- 3.2.4 -

T-SQL中的tempdb数据库是SQL Server中的一个系统数据库,用于存储临时表和存储过程。它是SQL Server会话期间用于存储临时数据的数据库,并且在SQL Server重新启动后会被清空。

tempdb数据库具有以下特点和用途:

  • 临时性:tempdb数据库中的数据和对象都是临时的,它们在数据库会话结束时会被自动删除。因此,tempdb数据库用于存储临时数据,例如中间结果集、临时表和变量等。

  • 共享性:tempdb数据库是由所有连接到SQL Server的用户共享的。每个用户都可以在tempdb中创建临时表和存储过程,以执行各种数据库操作。

  • 最小日志记录:在tempdb数据库中的操作采用最小日志记录方式,这有助于提高性能。由于tempdb中的数据是临时的,因此不需要保留完整的事务日志记录。

  • 自动增长:tempdb数据库的大小可以根据需要进行自动增长。当数据库中的空间不足时,SQL Server会自动分配更多的空间给tempdb,以确保临时数据的存储需求得到满足。

需要注意的是,由于tempdb数据库是临时的,并且在SQL Server重新启动后会被清空,因此不应该在tempdb中存储持久性的数据或对象。此外,对于大型操作或复杂查询,过度使用tempdb可能会导致性能问题,因此在使用临时表和存储过程时需要注意其影响。