TRUSTWORTHY 資料庫屬性
TRUSTWORTHY 資料庫屬性用來指定 SQL Server 執行個體是否信任資料庫及其中的內容。 依預設,此設定為 OFF,但可使用 ALTER DATABASE 陳述式來將它設為 ON。 例如: ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;
。
注意
您必須是 系統管理員 (sysadmin) 固定伺服器角色的成員,才能設定此選項。
此屬性可用來減少因附加含有下列任一物件之資料庫而帶來的威脅:
含有 EXTERNAL_ACCESS 或 UNSAFE 權限設定的惡意組件。 如需相關資訊,請參閱 CLR Integration Security。
定義為以高階權限使用者身分來執行的惡意模組。 如需詳細資訊,請參閱 EXECUTE AS 子句 (Transact-SQL)。
這兩種情況都需要特定程度的許可權,而且在已附加至 SQL Server 實例的資料庫內容中使用適當的機制時,會受到適當機制的保護。 不過,如果資料庫離線,可存取資料庫檔案的使用者可能會將其附加至其所選SQL Server實例,並將惡意內容新增至資料庫。 當資料庫在 SQL Server 內先中斷連結再重新連結時,系統會對資料和記錄檔設定某些權限,以限制資料庫檔案的存取。
由於附加至實例的資料庫無法立即信任SQL Server,因此資料庫在明確標示為可信任之前,不允許資料庫存取超出資料庫範圍的資源。 此外,專為存取資料庫外部資源而設計的模組,以及具有 EXTERNAL_ACCESS 和 UNSAFE 權限設定的組件,都有額外的必備條件,才能順利地執行。