Proprietà di database TRUSTWORTHY
La proprietà di database TRUSTWORTHY consente di indicare se l'istanza di SQL Server considera attendibile il database e il relativo contenuto. Per impostazione predefinita, questa impostazione ha valore OFF, ma è possibile impostarla su ON tramite l'istruzione ALTER DATABASE. Ad esempio ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.
[!NOTA]
Per impostare questa opzione, è necessario essere un membro del ruolo predefinito del server sysadmin.
Questa proprietà può essere utilizzata per limitare i rischi che possono derivare dal collegamento a un database contenente uno degli oggetti seguenti:
Assembly dannosi con un'impostazione di autorizzazione EXTERNAL_ACCESS o UNSAFE. Per ulteriori informazioni, vedere Sicurezza per l'integrazione con CLR.
Moduli dannosi definiti in modo da essere eseguiti con un account utente con privilegi elevati. Per ulteriori informazioni, vedere Clausola EXECUTE AS (Transact-SQL).
Entrambe le situazioni richiedono un livello di privilegi specifico e vengono evitate grazie a meccanismi appropriati quando tali componenti vengono utilizzati nel contesto di un database già collegato a un'istanza di SQL Server. Se però il database è offline, un utente che ha accesso al file di database è potenzialmente in grado di collegarlo a un'istanza arbitraria di SQL Server e aggiungervi contenuto dannoso. Quando i database vengono scollegati e collegati in SQL Server, sui dati e sui file di log vengono impostate determinate autorizzazioni che limitano l'accesso ai file di database.
Poiché un database che viene collegato a un'istanza di SQL Server non può essere considerato immediatamente attendibile, non può accedere a risorse esterne al proprio ambito fino a quando non verrà esplicitamente contrassegnato come attendibile. Sono inoltre previsti ulteriori requisiti per l'esecuzione dei moduli progettati per accedere a risorse esterne al database e degli assembly con impostazione di autorizzazione EXTERNAL_ACCESS e UNSAFE.