信頼可能構成

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

データベースの信頼可能に関する設定を監視します。

Knowledge Base article:

概要

このモニターは、このデータベースの [信頼可能] 設定を確認します。このモニターは全体的な標準要件の一部なので、指定された標準を設定が満たしていない場合に通知が生成されます。

構成

[信頼可能] 設定を使用して、SQL Server のインスタンスがデータベースとその内容を信頼するかどうかを示します。[信頼可能] 設定が ON に指定されている場合、権限借用のコンテキストを使用するデータベース モジュール (ユーザー定義関数、ストアド プロシージャなど) は、データベース外のリソースにアクセスできます。

セキュリティ リスクを最小化するには、TRUSTWORTHY を OFF にする必要があります。OFF にすると、"EXECUTE AS USER" がデータベース自体にスコープ設定され、SAFE とマークされた CLR アセンブリだけが使用されます。ON にするのは、お使いのアプリケーションで必要な場合のみにします。

TRUSTWORTHY {ON | OFF}

原因

必要な設定とオプションが一致しない場合、警告の通知が発生します。この設定が "ON" に設定されていると、モニターは既定で通知を出すよう構成されます。

解決方法

この問題は、次の方法で解決できる場合があります。

また、このモニターがこのデータベースに不要であれば、次の方法を取ることもできます。

外部資料

この設定の詳細については、「 ALTER DATABASE SET オプション (Transact-SQL)」を参照してください。

上書き可能なパラメーター

名前

説明

既定値

アラートの優先度

アラートの優先順位を定義します。

アラートの重要度

アラートの重大度を定義します。

警告

SQL Express のチェックを無効にする

SQL Express バージョンのチェックを有効または無効にします。

いいえ

有効

ワークフローを有効または無効にします。

いいえ

予期される値

使用可能な値のセットを表示するには、このモニターに関する説明の「構成」セクションを参照してください。

オフ

アラートを生成する

ワークフローがアラートを生成するかどうかを定義します。

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

43200

タイムアウト (秒)

ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。

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
信頼可能構成エラー
コンピューター "{2}" 上の SQL インスタンス "{1}" で、データベース "{0}" の信頼可能設定が最適な方法に従って設定されていません。
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>