2017-04-04 6 views
1

私はSSRS 2016を使用しており、ユーザーのローカルタイムに合わせて11amまでに電子メールによるレポートを受信する必要があるユーザー数があります。SSRS 2016タイムゾーンをまたいだメールを報告します

これを行うためのベストプラクティスは何ですか?

私の初期の考えは、各タイムゾーンごとに異なるActive Directory配布リストを作成し、それに応じてユーザーを追加することでした...レポートごとに複数のスケジュールを作成し、レポートの送信時刻を調整します配布リストが必要でした。

例として、SQLサーバーは中央の時間にあり、東部時間勤務の従業員は現地時間で午前11時までにレポートを必要とします。 - 電子メールスケジュールを作成して、東部時間従業員に午前10時(サーバ時間)に、レポートを午前11時に中央時間従業員に送信します。

これを行うより良い方法はありますか?

答えて

0

あなたのアプローチはまさに私たちがやっていることです。 SQL Serverインスタンスは中央のタイムゾーンにあり、世界中のユーザーがいます。各グループはメーリングリストを維持し、レポート購読を作成するときに手動で算術演算を行います。興味深いことに、SSRSはローカルユーザーの言語に合わせて調整されます(@ReportNameの代わりに@ReportTimeがデフォルトのサブジェクトの@ExecutionTimeで実行されました)が、タイムゾーンの助けにはなりません。

エンタープライズエディションのSQL Serverを使用している場合は、データ駆動型レポートサブスクリプションを使用できます。標準版とエンタープライズ版のコストが大幅に増加したことを考えると、この1つの機能がコストを正当化するのではないかと疑う。

他の解決策では、SSRS以外のものが必要ですが、それは便利です。さまざまな場所で実行されている他のスケジューリングツールがある場合、PowerShellスクリプトを実行してサブスクリプションをトリガすることができます。また、この方法を使用して、データがロードされたときにレポートを実行することもできます。サブスクリプションをトリガする

$server = 'http://server.company.com/reportserver' 
$site = '/' 

$rs2010 = New-WebServiceProxy -Uri "$server/ReportService2010.asmx" -Namespace SSRS.ReportingService2010 -UseDefaultCredential 
$subscriptions = $rs2010.ListSubscriptions($site) 
$subscriptions | Sort-Object -property path,owner,SubscriptionID -Unique | select Path, Owner, SubscriptionID 

PowerShellスクリプト:

# Given an SSRS URL and a subscription ID, trigger the subscription. 
$server = 'http://server.company.com/reportserver' 
$subscriptionid = "55477447-b0b0-433c-a75f-08ad0b6d18bd" 

$rs2010 = New-WebServiceProxy -Uri "$server/ReportService2010.asmx" -Namespace SSRS.ReportingService2010 -UseDefaultCredential ; 
$rs2010.FireEvent("TimedSubscription",$subscriptionid,$null) 
+0

おかげでサブスクリプションとそのIDをリストする

PowerShellスクリプト! @gaccardo –

関連する問題