ReportServer
データベースのSubscriptions
テーブルのExtensionSettings
フィールドには、検索する情報があります。唯一の欠点は、XMLですべてです。しかし、あなたは電子メールアドレス、それからサブスクリプションについての他のすべてを引き出すことができます。以下は、サブスクリプションの検索やトラブルシューティングの際に頻繁に使用するクエリの例です。
SELECT A.SubscriptionID, A.Report_OID, B.Name, [Path],
A.LastRunTime, A.Description, C.UserName AS Owner, A.LastStatus, A.ExtensionSettings
FROM Subscriptions A INNER JOIN Catalog B
ON A.Report_OID = B.ItemID
INNER JOIN Users C
ON A.OwnerID = C.UserID
WHERE A.ExtensionSettings LIKE '%[email protected]%'
ORDER BY A.LastRunTime DESC
警告が、これは通常のサブスクリプションのために素晴らしい作品...データドリブンサブスクリプションは、この分野でいくつかのデータを持っていますが、あまり、人とDDSのどのようなので、実行するための実行から異なる場合があります。
データ駆動型サブスクリプションの提案は、サブスクリプションのデータを駆動するために使用するクエリに監査コードを追加することです。クエリがまだ格納されていない場合は、ストアドプロシージャにして、何が起きようとしているのかをキャプチャするためにいくつかのログを追加します。サブスクリプション配信が成功したと仮定します。
これらのうちいくつかを実行している場合は、言及したように、情報を渡してロギングを行うためのロギング/監査ストアドプロシージャを作成することがあります。これらのためにさまざまなマシンにデータソースがある場合は、1つのサーバーにログを集中させ、リンクサーバーを使用してプロシージャを呼び出すことができます。一部のDBAはそれを嫌うかもしれませんが、うまくいくでしょう。
お返事ありがとうございます。私はあなたと同じ考えを持っていましたが、残念ながら、アラートがどこにどこで(どの電子メールアドレス)送られたかを監査する必要があります。これも可能ですか?またはSSRSの制限? – iKnowNothing
SSRSとレポートサブスクリプションでこれを行う方法がわかりません。おそらく、電子メールサーバーでそれを監査する方法がありますか?もう1つの可能性として、レポート結果をファイルシステムに書き込み、SQLエージェントジョブを使用してそれらを添付ファイルとして電子メールで送信することもできます。ジョブの送信を監査します。きれいではない、保守の可能性がある悪夢ですが、それは要件を満たすでしょう。 –
私はこれが非常に古いことを知っています。私もこれに対する答えを探しています。 私が今行ったことは、サブスクリプションを供給しているprocによって生成された行を保存する独自のログテーブルを更新することです。メールが送信されたと実際にはわからないのですが、少なくとも実行時に設定されたメールアドレスはわかっています。さて、より多くの検索に。 – John