Proprietà di database TRUSTWORTHYTRUSTWORTHY Database Property

La proprietà di database TRUSTWORTHY consente di indicare se l'istanza di SQL ServerSQL Server considera attendibile il database e il relativo contenuto.The TRUSTWORTHY database property is used to indicate whether the instance of SQL ServerSQL Server trusts the database and the contents within it. Per impostazione predefinita, questa impostazione ha valore OFF, ma è possibile impostarla su ON tramite l'istruzione ALTER DATABASE.By default, this setting is OFF, but can be set to ON by using the ALTER DATABASE statement. Ad esempio, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.For example, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.

Nota

Per impostare questa opzione è necessario essere un membro del ruolo predefinito sysadmin del server.To set this option, you must be a member of the sysadmin fixed server role.

Questa proprietà può essere utilizzata per limitare i rischi che possono derivare dal collegamento a un database contenente uno degli oggetti seguenti:This property can be used to reduce certain threats that can exist as a result of attaching a database that contains one of the following objects:

  • Assembly dannosi con un'impostazione di autorizzazione EXTERNAL_ACCESS o UNSAFE.Malicious assemblies with an EXTERNAL_ACCESS or UNSAFE permission setting. Per altre informazioni, vedere Sicurezza per l'integrazione con CLR.For more information, see CLR Integration Security.

  • Moduli dannosi definiti in modo da essere eseguiti con un account utente con privilegi elevati.Malicious modules that are defined to execute as high privileged users. Per altre informazioni, vedere Clausola EXECUTE AS (Transact-SQL).For more information, see EXECUTE AS Clause (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 ServerSQL Server.Both of these situations require a specific degree of privileges and are protected against by appropriate mechanisms when they are used in the context of a database that is already attached to an instance of SQL ServerSQL 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 ServerSQL Server e aggiungervi contenuto dannoso.However, if the database is taken offline, a user that has access to the database file can potentially attach it to an instance of SQL ServerSQL Server of his or her choice and add malicious content to the database. Quando i database vengono scollegati e collegati in SQL ServerSQL Server, sui dati e sui file di log vengono impostate determinate autorizzazioni che limitano l'accesso ai file di database.When databases are detached and attached in SQL ServerSQL Server, certain permissions are set on the data and log files that restrict access to the database files.

    Poiché un database che viene collegato a un'istanza di SQL ServerSQL 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.Because a database that is attached to an instance of SQL ServerSQL Server cannot be immediately trusted, the database is not allowed to access resources beyond the scope of the database until the database is explicitly marked trustworthy. 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.Also, modules that are designed to access resources outside the database, and assemblies with either the EXTERNAL_ACCESS and UNSAFE permission setting, have additional requirements in order to run successfully.

Centro di sicurezza per il motore di database di SQL Server e il database SQL di AzureSecurity Center for SQL Server Database Engine and Azure SQL Database

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)