OLE DB プロバイダーを使用してステートメント オブジェクトを作成できませんでした

Microsoft.SQLServer.2012.Could_not_create_a_statement_object_using_OLE_DB_provider_1_5_Rule (Rule)

Knowledge Base article:

概要

SQL Server が、リンク サーバーに接続された OLE DB プロバイダーのインスタンスを持つコマンド オブジェクトを作成できませんでした。Windows アプリケーション ログで、OLE DB プロバイダーの名前と SQL Server のインスタンスを特定できます。

解決方法

Windows アプリケーション ログでイベント ID 7305 を探し、OLE DB プロバイダー名を特定します。クエリで使用された SQL ステートメントを確認します。クエリを再実行します。このエラーが繰り返し発生する場合は、OLE DB アプリケーションの開発者にお問い合わせください。

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

名前

説明

既定値

有効

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

はい

優先順位

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

1

重大度

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

1

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID7305
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
OLE DB プロバイダーを使用してステートメント オブジェクトを作成できませんでした
{0}
Event LogApplication
CommentMom2012ID='{5858D9E9-D97F-4B2C-B928-4EB127EA9487}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2012.Could_not_create_a_statement_object_using_OLE_DB_provider_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" Remotable="true" ConfirmDelivery="true" Comment="Mom2012ID='{5858D9E9-D97F-4B2C-B928-4EB127EA9487}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>7305</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2012.Could_not_create_a_statement_object_using_OLE_DB_provider_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>