sql server如此难以理解? 这些表有什么确实的用处?为什么我新建立一个database也会有这些"系统"表? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 拷贝一些帮助你看看:系统数据库和数据Microsoft® SQL Server™ 2000 系统有四种系统数据库: master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。tempdb 数据库 tempdb 数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储 SQL Server 生成的工作表。tempdb 数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb 数据库在 SQL Server 每次启动时都重新创建,因此该数据库在系统启动时总是干净的。临时表和存储过程在连接断开时自动除去,而且当系统关闭后将没有任何连接处于活动状态,因此 tempdb 数据库中没有任何内容会从 SQL Server 的一个会话保存到另一个会话。默认情况下,在 SQL Server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 SQL Server时,将tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可以使用 ALTER DATABASE 增加 tempdb 数据库的大小。model 数据库 model 数据库用作在系统上创建的所有数据库的模板。当发出 CREATE DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Server 每次启动时都要创建 tempdb 数据库,model 数据库必须一直存在于 SQL Server 系统中。msdb 数据库 msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。在 SQL Server 2000 和 SQL Server 7.0 版中,包括系统数据库在内的每个数据库都有自己的文件集,而且不与其它数据库共享这些文件。 数据库文件 物理文件名 默认大小,典型安装 master 主数据 Master.mdf 11,0 MB master 日志 Mastlog.ldf 1,25 MB tempdb 主数据 Tempdb.mdf 8,0 MB tempdb 日志 Templog.ldf ,5 MB model 主数据 Model.mdf ,75 MB model 日志 Modellog.ldf ,75 MB msdb 主数据 Msdbdata.mdf 12,0 MB msdb 日志 Msdblog.ldf 2,25 MB 对于不同版本的 SQL Server 2000,这些文件的大小可能略有不同。有关这些文件的默认位置的更多信息,请参见定位目录和文件。SQL Server 2000 中的每个数据库都包含系统表,用来记录 SQL Server 组件所需的数据。SQL Server 的操作能否成功,取决于系统表信息的完整性,因此 Microsoft 不支持用户直接更新系统表中的信息。Microsoft 提供了一套完整的管理工具,使用户得以充分管理他们的系统和数据库中的所有用户和对象。用户可以使用管理实用工具(如 SQL Server 企业管理器)直接管理系统。程序员可以使用 SQL-DMO API,在他们的应用程序中加入完整的 SQL Server 管理功能。程序员在生成 Transact-SQL 脚本和存储过程时,可以使用系统存储过程和 Transact-SQL DDL 语句来支持系统中的所有管理功能。SQL-DMO、系统存储过程和数据定义语言 (DDL) 语句的一个重要功能是,防止应用程序在系统表中发生更改。Microsoft 有时需要更改 SQL Server 新版本中的系统表,以支持在那个版本中新增的功能。但应用程序在发出直接引用系统表的 SELECT 语句时,常常依赖于原来的系统表格式。站点在重写从系统表中选择的应用程序之前,不能升级到 SQL Server 的新版本。Microsoft 考虑了系统存储过程、DDL 和 SQL-DMO 发布的接口,力求保持这些接口的向后兼容性。Microsoft 不支持对系统表定义触发器,触发器会更改系统的操作。另外一个查询 SQL Server 目录的重要工具是信息架构视图集。这些视图遵从 SQL-92 标准中定义的信息架构。这些视图为应用程序提供了一个用于查询 SQL Server 目录的基于标准的组件。不应编写直接查询系统表的 Transact-SQL 语句,除非这是获得应用程序所需信息的唯一方法。大多数情况下,应用程序应通过下列方式获取目录和系统信息: SQL-92 信息架构视图。SQL-DMO。应用程序中使用的数据 API(如 ADO、OLE DB 或 ODBC)的目录函数、方法、特性或属性。Transact-SQL 系统存储过程、目录语句和内置函数。 系统表Microsoft® SQL Server™ 2000 及其组件所用的信息存储在称为系统表的特殊表中。 任何用户都不应直接修改系统表。例如,不要尝试使用 DELETE、UPDATE、INSERT 语句或用户定义的触发器修改系统表。允许在系统表中引用编制的列。然而,系统表中的许多列都未被编制。不应编写应用程序直接查询未编制的列。相反,应用程序应使用以下任何组件检索系统表中存储的信息: 信息架构视图系统存储过程Transact-SQL 语句和函数SQL-DMO数据库应用程序接口 (API) 目录函数 这些组件构成一个已发布的 API,用以从 SQL Server 获取系统信息。Microsoft 维护这些组件在不同版本间的兼容性。系统表的格式取决于 SQL Server 的内部构架,并且可能因不同的版本而异。因此,直接访问系统表中未编制列的应用程序可能需要做些更改后才能访问 SQL Server 的后继版本。仅在 master 数据库中的系统表这些表存储服务器级系统信息。sysaltfiles syslockinfo syscacheobjects syslogins syscharsets sysmessages sysconfigures sysoledbusers syscurconfigs sysperfinfo sysdatabases sysprocesses sysdevices sysremotelogins syslanguages sysservers 每个数据库中的系统表这些表为每个数据库存储数据库级系统信息。syscolumns sysindexkeys syscomments sysmembers sysconstraints sysobjects sysdepends syspermissions sysfilegroups sysprotects sysfiles sysreferences sysforeignkeys systypes sysfulltextcatalogs sysusers sysindexes msdb 数据库中的 SQL Server 代理程序表这些表存储 SQL Server 代理程序使用的信息。sysalerts sysjobsteps syscategories sysnotifications sysdownloadlist sysoperators sysjobhistory systargetservergroupmembers sysjobs systargetservergroups sysjobschedules systargetservers sysjobservers systaskids msdb 数据库中的表这些表存储数据库备份和还原操作使用的信息。backupfile restorefile backupmediafamily restorefilegroup backupmediaset restorehistory backupset 用于存储复制信息的表这些表由复制使用并存储在 master 数据库中。sysdatabases sysservers 这些表由复制使用并存储在 msdb 数据库中。sysreplicationalerts 这些表由复制使用并存储在 distribution 数据库中。MSagent_parameters Mspublisher_databases MSagent_profiles MSreplication_objects MSarticles MSreplication_subscriptions MSdistpublishers MSrepl_commands MSdistributiondbs MSrepl_errors MSdistribution_agents MSrepl_originators MSdistribution_history MSrepl_transactions MSdistributor MSrepl_version MSlogreader_agents MSsnapshot_agents MSlogreader_history MSsnapshot_history MSmerge_agents MSsubscriber_info MSmerge_history MSsubscriber_schedule MSmerge_subscriptions MSsubscriptions MSpublication_access MSsubscription_properties Mspublications 这些表由复制使用并存储在 publication 数据库中。MSmerge_contents sysmergearticles MSmerge_delete_conflicts sysmergepublications MSmerge_genhistory sysmergeschemachange MSmerge_replinfo sysmergesubscriptions MSmerge_tombstone sysmergesubsetfilters sysarticles syspublications sysarticleupdates syssubscriptions ©1988-2000 Microsoft Corporation。保留所有权利。 四个系统数据库:master、model、msdb、tempdb不能删,可以右击服务器,编辑注册信息将其隐藏。 怎么我的erp数据库文件不是在sql data文件夹下面的? 无规律两行之差的sql语句 sql6.5 与 sql2000 查询分析器的字符问题? 时间大小比较怎样写 怎样修改表结构? 怎样返回指表中的指定行? 非常奇怪的问题!!重来没见过!! 比较难的SQL查询问题?(给分!) SQL多表查询问题 如何编写sql代码 在更新入库出库表的同时更新库存表 提问:如何提高SQL Server的执行效率? 如何用sql语句修改表中字段的类型?
Microsoft® SQL Server™ 2000 系统有四种系统数据库: master 数据库
master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。tempdb 数据库
tempdb 数据库保存所有的临时表和临时存储过程。它还满足任何其它的临时存储要求,例如存储 SQL Server 生成的工作表。tempdb 数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb 数据库在 SQL Server 每次启动时都重新创建,因此该数据库在系统启动时总是干净的。临时表和存储过程在连接断开时自动除去,而且当系统关闭后将没有任何连接处于活动状态,因此 tempdb 数据库中没有任何内容会从 SQL Server 的一个会话保存到另一个会话。默认情况下,在 SQL Server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 SQL Server时,将tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可以使用 ALTER DATABASE 增加 tempdb 数据库的大小。model 数据库
model 数据库用作在系统上创建的所有数据库的模板。当发出 CREATE DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Server 每次启动时都要创建 tempdb 数据库,model 数据库必须一直存在于 SQL Server 系统中。msdb 数据库
msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。在 SQL Server 2000 和 SQL Server 7.0 版中,包括系统数据库在内的每个数据库都有自己的文件集,而且不与其它数据库共享这些文件。 数据库文件 物理文件名 默认大小,典型安装
master 主数据 Master.mdf 11,0 MB
master 日志 Mastlog.ldf 1,25 MB
tempdb 主数据 Tempdb.mdf 8,0 MB
tempdb 日志 Templog.ldf ,5 MB
model 主数据 Model.mdf ,75 MB
model 日志 Modellog.ldf ,75 MB
msdb 主数据 Msdbdata.mdf 12,0 MB
msdb 日志 Msdblog.ldf 2,25 MB
对于不同版本的 SQL Server 2000,这些文件的大小可能略有不同。有关这些文件的默认位置的更多信息,请参见定位目录和文件。SQL Server 2000 中的每个数据库都包含系统表,用来记录 SQL Server 组件所需的数据。SQL Server 的操作能否成功,取决于系统表信息的完整性,因此 Microsoft 不支持用户直接更新系统表中的信息。Microsoft 提供了一套完整的管理工具,使用户得以充分管理他们的系统和数据库中的所有用户和对象。用户可以使用管理实用工具(如 SQL Server 企业管理器)直接管理系统。程序员可以使用 SQL-DMO API,在他们的应用程序中加入完整的 SQL Server 管理功能。程序员在生成 Transact-SQL 脚本和存储过程时,可以使用系统存储过程和 Transact-SQL DDL 语句来支持系统中的所有管理功能。SQL-DMO、系统存储过程和数据定义语言 (DDL) 语句的一个重要功能是,防止应用程序在系统表中发生更改。Microsoft 有时需要更改 SQL Server 新版本中的系统表,以支持在那个版本中新增的功能。但应用程序在发出直接引用系统表的 SELECT 语句时,常常依赖于原来的系统表格式。站点在重写从系统表中选择的应用程序之前,不能升级到 SQL Server 的新版本。Microsoft 考虑了系统存储过程、DDL 和 SQL-DMO 发布的接口,力求保持这些接口的向后兼容性。Microsoft 不支持对系统表定义触发器,触发器会更改系统的操作。另外一个查询 SQL Server 目录的重要工具是信息架构视图集。这些视图遵从 SQL-92 标准中定义的信息架构。这些视图为应用程序提供了一个用于查询 SQL Server 目录的基于标准的组件。不应编写直接查询系统表的 Transact-SQL 语句,除非这是获得应用程序所需信息的唯一方法。大多数情况下,应用程序应通过下列方式获取目录和系统信息: SQL-92 信息架构视图。
SQL-DMO。
应用程序中使用的数据 API(如 ADO、OLE DB 或 ODBC)的目录函数、方法、特性或属性。
Transact-SQL 系统存储过程、目录语句和内置函数。
Microsoft® SQL Server™ 2000 及其组件所用的信息存储在称为系统表的特殊表中。 任何用户都不应直接修改系统表。例如,不要尝试使用 DELETE、UPDATE、INSERT 语句或用户定义的触发器修改系统表。允许在系统表中引用编制的列。然而,系统表中的许多列都未被编制。不应编写应用程序直接查询未编制的列。相反,应用程序应使用以下任何组件检索系统表中存储的信息: 信息架构视图
系统存储过程
Transact-SQL 语句和函数
SQL-DMO
数据库应用程序接口 (API) 目录函数
这些组件构成一个已发布的 API,用以从 SQL Server 获取系统信息。Microsoft 维护这些组件在不同版本间的兼容性。系统表的格式取决于 SQL Server 的内部构架,并且可能因不同的版本而异。因此,直接访问系统表中未编制列的应用程序可能需要做些更改后才能访问 SQL Server 的后继版本。仅在 master 数据库中的系统表
这些表存储服务器级系统信息。sysaltfiles syslockinfo
syscacheobjects syslogins
syscharsets sysmessages
sysconfigures sysoledbusers
syscurconfigs sysperfinfo
sysdatabases sysprocesses
sysdevices sysremotelogins
syslanguages sysservers
每个数据库中的系统表
这些表为每个数据库存储数据库级系统信息。syscolumns sysindexkeys
syscomments sysmembers
sysconstraints sysobjects
sysdepends syspermissions
sysfilegroups sysprotects
sysfiles sysreferences
sysforeignkeys systypes
sysfulltextcatalogs sysusers
sysindexes
msdb 数据库中的 SQL Server 代理程序表
这些表存储 SQL Server 代理程序使用的信息。sysalerts sysjobsteps
syscategories sysnotifications
sysdownloadlist sysoperators
sysjobhistory systargetservergroupmembers
sysjobs systargetservergroups
sysjobschedules systargetservers
sysjobservers systaskids
msdb 数据库中的表
这些表存储数据库备份和还原操作使用的信息。backupfile restorefile
backupmediafamily restorefilegroup
backupmediaset restorehistory
backupset
用于存储复制信息的表
这些表由复制使用并存储在 master 数据库中。sysdatabases sysservers
这些表由复制使用并存储在 msdb 数据库中。sysreplicationalerts
这些表由复制使用并存储在 distribution 数据库中。MSagent_parameters Mspublisher_databases
MSagent_profiles MSreplication_objects
MSarticles MSreplication_subscriptions
MSdistpublishers MSrepl_commands
MSdistributiondbs MSrepl_errors
MSdistribution_agents MSrepl_originators
MSdistribution_history MSrepl_transactions
MSdistributor MSrepl_version
MSlogreader_agents MSsnapshot_agents
MSlogreader_history MSsnapshot_history
MSmerge_agents MSsubscriber_info
MSmerge_history MSsubscriber_schedule
MSmerge_subscriptions MSsubscriptions
MSpublication_access MSsubscription_properties
Mspublications
这些表由复制使用并存储在 publication 数据库中。MSmerge_contents sysmergearticles
MSmerge_delete_conflicts sysmergepublications
MSmerge_genhistory sysmergeschemachange
MSmerge_replinfo sysmergesubscriptions
MSmerge_tombstone sysmergesubsetfilters
sysarticles syspublications
sysarticleupdates syssubscriptions
©1988-2000 Microsoft Corporation。保留所有权利。
编辑注册信息将其隐藏。