新しいメンテナンスプランでオペレーターに通知タスクを変更できません。 SQL Server Management Studioでは、タスクをダブルクリックした後にこのエラーが表示されます。
プロパティIsMailHostは、データベース '[msdb]'では使用できません。このプロパティはこのオブジェクトに存在しないか、アクセス権が不十分なために取得できない可能性があります。
メンテナンスプランの他のタスクは正常に機能しています。 SQL Server 2016 Standard(13.0.1601.5)とSQL Sever Management Studio 16.5を使用しています。データベースメールもパブリックプロファイルで構成されます。
投稿したメッセージから、MSDBがメールホストステータスに設定されていないことがわかります。
Database.IsMailHostプロパティ-データベースがメールホストとして構成されているかどうかを示す値を取得します。
データベースがメールホストであるかどうかを確認するには、次のPowerShellコマンドを使用します。 SQL Server 2014でテストしました。
Powershell ISEで以下のコードを使用して確認します:(デフォルトのインスタンスのみ)
$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("MSDB")
Write-Host "Database is a mail Host :" $db.IsMailHost
MSDBデータベースは、データベースメールホストデータベースです。このデータベースには、データベースメールのストアドプロシージャとメッセージングオブジェクトが含まれています。
既定では、データベースメールはアクティブではありません。
次のいずれかを使用して、データベースメールを明示的に有効にする必要があります。
または
次の例では、データベースメール拡張ストアドプロシージャを有効にします。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE
GO