Configurazione proprietà trustworthy

Microsoft.SQLServer.2012.Database.Configuration.TrustWorthy (UnitMonitor)

Controlla l'impostazione della proprietà trustworthy per il database

Knowledge Base article:

Riepilogo

Questo monitoraggio controlla l'impostazione Trustworthy per il database. Poiché tale monitoraggio appartiene a requisiti standard complessivi, se l'impostazione non corrisponde allo standard specificato verrà generato un avviso.

Configurazione

L'impostazione TRUSTWORTHY viene utilizzata per indicare se l'istanza di SQL Server considera attendibile il database e il relativo contenuto. Se l'opzione Attendibile è impostata su ON, i moduli del database, ad esempio le viste, le funzioni definite dall'utente o le stored procedure, che utilizzano un contesto di rappresentazione possono accedere alle risorse esterne al database.

Per ridurre al minimo i rischi per la sicurezza, è necessario che l'opzione TRUSTWORTHY sia impostata su OFF. Quando è impostata su OFF, l'ambito dell'istruzione "EXECUTE AS USER" è limitato al database e possono essere utilizzati solo gli assembly CLR contrassegnati come sicuri. Impostarla su ON solo se si è certi che sia necessario per l'applicazione in uso.

TRUSTWORTHY {ON | OFF}

Cause

Se l'impostazione dell'opzione non corrisponde a quella richiesta, verrà generato un messaggio di avviso. Il monitoraggio è configurato per generare un avviso quando il valore di questa impostazione è "ON".

Soluzioni

Per risolvere il problema, effettuare una delle operazioni seguenti:

In alternativa, se il monitoraggio non rappresenta un problema per il database, effettuare una delle operazioni seguenti:

Risorse esterne

Per altre informazioni su questa impostazione, vedere Opzioni ALTER DATABASE SET (Transact-SQL)

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Avviso

Disabilita controllo per SQL Express

Abilita o disabilita il controllo della versione di SQL Express.

No

Abilitato

Abilita o disabilita il flusso di lavoro.

No

Valore previsto

Per visualizzare il set di valori possibili, vedere la sezione "Configurazione" nella documentazione relativa a questo monitoraggio.

NO

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

43200

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

300

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorMicrosoft.SQLServer.2012.Database.ExternalAccessConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
Errore di configurazione proprietà trustworthy
L'impostazione della proprietà trustworthy per il database "{0}" nell'istanza di SQL Server "{1}" sul computer "{2}" non è configurata in base alla procedura consigliata.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Database.Configuration.TrustWorthy" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="Microsoft.SQLServer.2012.Database.ExternalAccessConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.Configuration.TrustWorthy.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>TrustWorthy</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>