SQL Server : TRUSTWORTHY 数据库属性
TRUSTWORTHY 数据库属性用于指明 SQL Server 实例是否信任该数据库以及其中的内容。默认情况下,此设置为 OFF,但是可以使用 ALTER DATABASE 语句将其设置为 ON。例如,ALTER DATABASE AdventureWorks SET TRUSTWORTHY ON;
。
注意:
必须是 sysadmin 固定服务器角色的成员才能设置此选项。
此属性可用于减少附加数据库所带来的某些隐患,该数据库包含下列对象之一:
- 带有 EXTERNAL_ACCESS 或 UNSAFE 权限设置的有害程序集。有关详细信息,请参阅 CLR 集成安全性。
- 所定义的、作为高特权用户执行的有害模块。有关详细信息,请参阅使用 EXECUTE AS 扩展数据库模拟。
这两种情况均要求具有特定程度的权限,并且在已附加到 SQL Server 实例的数据库的上下文中使用这两种情况时,应采取相应的机制保护这两种情况。但是,如果数据库脱机,则对数据库文件具有访问权限的用户可能会将其附加到其选择的 SQL Server 实例,并将有害内容添加到数据库中。在 SQL Server 2005 中分离和附加数据库时,将对限制访问数据库文件的数据和日志文件设置某些权限。有关详细信息,请参阅保护数据和日志文件的安全。
因为无法立即信任附加到 SQL Server 实例的数据库,所以不允许数据库访问超出数据库范围的资源,直到数据库已显式标记为可信。此外,旨在访问数据库以外资源的模块和带有 EXTERNAL_ACCESS 或 UNSAFE 权限设置的程序集还需要其他条件才能成功运行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人