系统数据库

SQL Server 2005 包含以下系统数据库。

系统数据库 说明

master 数据库

记录 SQL Server 实例的所有系统级信息。

msdb 数据库

用于 SQL Server 代理计划警报和作业。

model 数据库

用作 SQL Server 实例上创建的所有数据库的模板。对 model 数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。

Resource 数据库

一个只读数据库,包含 SQL Server 2005 包括的系统对象。系统对象在物理上保留在 Resource 数据库中,但在逻辑上显示在每个数据库的 sys 架构中。

tempdb 数据库

一个工作空间,用于保存临时对象或中间结果集。

修改系统数据

SQL Server 不支持用户直接更新系统对象(如系统表、系统存储过程和目录视图)中的信息。而 Microsoft 提供了一整套管理工具,使用户可以充分管理他们的系统和数据库中的所有用户和对象。其中包括:

  • 管理实用工具,如 SQL Server Management Studio。
  • SQL-SMO API。此工具使程序员获得在其应用程序中管理 SQL Server 的全部功能。
  • Transact-SQL 脚本和存储过程。它们可以使用系统存储过程和 Transact-SQL DDL 语句。

这些工具保护应用程序不受系统对象更改的影响。例如,Microsoft 有时需要更改 SQL Server 新版本中的系统表,以支持添加到该版本中的新功能。但应用程序在发出直接引用系统表的 SELECT 语句时,通常依赖于旧的系统表格式。站点可能在重写从系统表选择的应用程序后,才能升级到 SQL Server 的新版本。Microsoft 考虑了系统存储过程、DDL 和 SQL-SMO 发布的接口,力求保留这些接口的向后兼容性。

Microsoft 不支持对系统表定义触发器,因为触发器可能会更改系统的操作。

查看系统数据库数据

不要编码直接查询系统表的 Transact-SQL 语句,除非这是获得应用程序所需信息的唯一方法。相反,应用程序应该通过使用以下方法获得目录和系统信息:

  • 系统目录视图
  • SQL-SMO
  • Windows Management Instrumentation (WMI) 接口
  • 应用程序中使用的数据 API(如 ADO、OLE DB 或 ODBC)的目录函数、方法、特性或属性。
  • Transact-SQL 系统存储过程和内置函数。

请参阅

任务

如何在对象资源管理器中隐藏系统对象

概念

备份和还原系统数据库的注意事项
系统数据库的恢复模式
查询 SQL Server 系统目录

其他资源

目录视图 (Transact-SQL)
Database Engine Administration Programming
物理数据库体系结构
了解数据库
WMI and SQL Server

帮助和信息

获取 SQL Server 2005 帮助