资源数据库,也称为资源 DB 或 RDB,是 SQL Server 中隐藏的只读数据库。Microsoft SQL Server是由 Microsoft 创建和销售的关系数据库管理系统 (RDBMS)。与其他关系数据库软件一样,SQL Server 支持结构化查询语言 (SQL) 用于处理关系数据库。SQL Server 的主要界面工具是 SQL Server Management Studio (SSMS),它可以在 32 位和 64 位系统中运行。
什么是资源数据库?
资源数据库是第五个数据库。它补充了主数据库,因为 SQL Server 现在依赖它。它包含 SQL Server 2005 及更高版本中包含的所有系统对象。诸如 sys.objects 之类的系统对象在物理上存储在资源数据库中,但它们在逻辑上也存在于每个数据库的 sys 模式中。
资源数据库只能保存系统对象,不能存储用户数据或元数据。存储过程、目录视图和扩展过程是存储在资源数据库中的预创建系统 T-SQL 代码的示例。
资源数据库的实际名称是 mssqlsystemresource。资源数据库有一个数据文件和一个日志文件,分别名为mssqlsystemresource.mdf和mssqlsystemresource.ldf,默认位于<drive letter>:\Program Files\Microsoft SQL Server\MSSQL<version num>。<实例名称>\MSSQL\Binn\。
资源数据库简化并加速了升级到新版本 SQL Server 的过程。以前,更新 SQL Server 涉及删除和重新创建系统对象。由于资源数据库文件包含所有系统对象,管理员可以通过简单地将资源数据库文件(mssqlsystemresource.mdf 和 mssqlsystemresource.ldf)传输到本地服务器来进行更新。
资源数据库的主要目标是尽可能快速有效地更新服务器。因为所有系统对象都存在于资源数据库中,所以数据库管理员 (DBA)可以在升级期间用新的资源数据库文件覆盖以前的资源数据库文件。
此操作将更新数据库中的所有系统对象。在早期版本的 SQL Server 中,所有系统对象都必须在升级过程中被丢弃并重新创建,这非常耗时。此外,如果任何对象丢失或导致问题,设置将失败。
SQL Server 2000 及以前的版本中没有资源数据库。它在 SQL Server 2005 中首次引入,使升级更容易和更快。数据库中的每个 SQL Server 实例都有一个 ID。单个实例最多可以存储32767个数据库,这也是资源库ID,每个实例中的每个资源库都一样。结果,资源数据库被赋予实例的最大可能数据库 ID。
由于资源库的隐藏状态,很多人并不知道资源库的存在。一些 DBA 认为,由于这是一个数据库,它需要与传统数据库相同级别的维护,这是不完全正确的。这可能会在未来导致更多问题。
以下是使用资源数据库时要遵循的一些最佳实践:
[免责声明]
文章标题: 什么是资源数据库?
文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。