Доверенная конфигурация

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

Отслеживает параметр доверенности для базы данных

Knowledge Base article:

Сводка

Монитор проверяет значение параметра Trustworthy для базы данных. Поскольку монитор является частью общих требований стандарта, будет выдано предупреждение, если параметр не будет соответствовать указанному стандарту.

Настройка

Параметр TRUSTWORTHY используется для указания того, доверяет ли экземпляр SQL Server базе данных и ее содержимому. Если для параметра Trustworthy задано значение ON, то модули базы данных (например, определяемые пользователем функции или хранимые процедуры), в которых используется контекст олицетворения, могут обращаться к ресурсам, расположенным за пределами базы данных.

Чтобы минимизировать риски, связанные с безопасностью, для параметра TRUSTWORTHY следует задать значение OFF. Если задано значение OFF, действие инструкции EXECUTE AS USER ограничено самой базой данных и можно использовать только сборки CLR с признаком SAFE. Значение ON следует устанавливать только в случае, если это требуется для приложения.

TRUSTWORTHY {ON | OFF}

Причины

Если параметр не соответствует требуемому значению, формируется предупреждение. Монитор настроен для создания предупреждения, если для данного параметра задано значение ON.

Решения

Эта проблема может быть устранена следующим образом.

Либо, если монитор неважен для базы данных:

Внешнее

См. дополнительные сведения об этих настройках: Параметры ALTER DATABASE SET (Transact-SQL)

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.ExternalAccessConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
Ошибка конфигурации доверенности
Параметр доверенности для базы данных "{0}" в экземпляре SQL Server "{1}" на компьютере "{2}" не соответствует рекомендациям.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Database.Configuration.TrustWorthy" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.ExternalAccessConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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>