暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Resource 数据库

Ty3306 2023-12-08
369

Resource 数据库

  •  

Resource 数据库为只读数据库,它包含了 SQL Server 中的所有系统对象。 SQL Server 系统对象(如 sys.objects)在物理上保留在 Resource 数据库中,但在逻辑上却显示在每个数据库的 sys 架构中。 Resource 数据库不包含用户数据或用户元数据。

Resource 数据库可比较轻松快捷地升级到新的 SQL Server 版本。 在早期版本的 SQL Server 中,进行升级需要删除和创建系统对象。 由于 Resource 数据库文件包含所有系统对象,因此,现在仅通过将单个 Resource 数据库文件复制到本地服务器便可完成升级。

Resource 的物理属性

Resource 数据库的物理文件名为 mssqlsystemresource.mdf 和 mssqlsystemresource.ldf。 这些文件位于 <drive>:\Program Files\Microsoft SQL Server\MSSQL<version>.<instance_name>\MSSQL\Binn\,不应移动。 每个 SQL Server 实例都具有一个(也是唯一的一个)关联的 mssqlsystemresource.mdf 文件,并且实例间不共享此文件。

 警告

有时,升级和服务包会提供安装到 BINN 文件夹的新资源数据库。 不支持或建议更改资源数据库的位置。

备份和还原 Resource 数据库

SQL Server 不能备份 Resource 数据库。 通过将 mssqlsystemresource.mdf 文件作为二进制 (.EXE) 文件而不是作为数据库文件,可以执行你自己的基于文件的备份或基于磁盘的备份,但是不能使用 SQL Server 还原所做的备份。 只能手动还原 mssqlsystemresource.mdf 的备份副本,并且必须谨慎,不要使用过时版本或可能不安全的版本覆盖当前的 Resource 数据库。

 重要

还原 mssqlsystemresource.mdf 的备份之后,必须重新应用所有后续更新。

访问 Resource 数据库

Resource 数据库仅应由 Microsoft 客户支持服务部门 (CSS) 的专家修改或在其指导下进行修改。 Resource 数据库的 ID 始终为 32767。 与 Resource 数据库相关联的其他重要值是版本号和数据库的上次更新时间。

若要确定 Resource 数据库的版本号,请使用

SELECT SERVERPROPERTY('ResourceVersion');  
GO  

若要确定 Resource 数据库的上次升级时间,请使用

SELECT SERVERPROPERTY('ResourceLastUpdateDateTime');  
GO  

若要访问系统对象的 SQL 定义,请使用 OBJECT_DEFINITION 函数:

SELECT OBJECT_DEFINITION(OBJECT_ID('sys.objects'));  
GO  
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论