Konfiguration für "Vertrauenswürdig"

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

Überwacht die Einstellung für "Vertrauenswürdig" für die Datenbank

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft die Einstellung "Vertrauenswürdig" für diese Datenbank. Da dieser Monitor zu einer Gesamtstandardanforderung gehört, wird eine Warnung generiert, wenn die Einstellung nicht dem angegebenen Standard entspricht.

Konfiguration

Mit der TRUSTWORTHY-Einstellung wird angegeben, ob die Instanz von SQL Server die Datenbank und die darin enthaltenen Inhalte als vertrauenswürdig einstuft. Wenn die Einstellung TRUSTWORTHY auf ON festgelegt ist, können Datenbankmodule (z. B. benutzerdefinierte Funktionen oder gespeicherte Prozeduren), die den Kontext eines Identitätswechsels verwenden, auf Ressourcen außerhalb der Datenbank zugreifen.

Um die Sicherheitsrisiken zu minimieren, sollte TRUSTWORTHY auf OFF festgelegt werden. Wenn TRUSTWORTHY auf OFF festgelegt ist, bezieht sich EXECUTE AS USER auf die Datenbank selbst, und nur die als sicher gekennzeichneten CLR-Assemblys können verwendet werden. Sie sollten DB_CHAINING nur dann auf ON festlegen, wenn Sie sicher sind, dass die Anwendung dies erfordert.

TRUSTWORTHY {ON | OFF}

Ursachen

Es wird eine Warnung ausgelöst, wenn die Option nicht der erforderlichen Einstellung entspricht. Der Monitor ist standardmäßig so konfiguriert, dass eine Warnung ausgegeben wird, wenn diese Einstellung auf ON festgelegt wurde.

Lösungen

Dieses Problem können Sie möglicherweise durch eine der folgenden Aktionen beheben:

Wenn dieser Monitor für diese Datenbank nicht relevant ist, haben Sie zudem folgende Möglichkeiten:

Extern

Ausführlichere Informationen zu dieser Einstellung finden Sie unter: ALTER DATABASE SET-Optionen (Transact-SQL)

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
Fehler bei der Konfiguration für "Vertrauenswürdig"
Die Einstellung für "Vertrauenswürdig" der Datenbank "{0}" in SQL-Instanz "{1}" auf Computer "{2}" ist nicht gemäß Best Practices festgelegt.
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>