SSRSスケジュールレポートが機能しない問題のトラブルシューティング
SQL Server Reporting Services (SSRS)を使用していて、スケジュールレポートが実行されない問題に直面している場合、あなたは一人ではありません。多くのユーザーが、スケジュールされたレポートが単に実行に失敗するか、スケジュールジョブ中にエラーメッセージを返すという厄介な問題に直面しています。一般的なエラーの一つは、ログインの問題に関連しており、具体的には次のメッセージです:
「要求されたログイン「NT AUTHORITY\NETWORK SERVICE」に対して「EXECUTE AS LOGIN」が失敗しました。ステップが失敗しました。」
この投稿では、この問題の背後にある潜在的な理由を探り、スケジュールレポートを再び正常に動作させるための手順を示します。
問題の理解
スケジュールレポートが失敗する場合、通常はジョブの実行コンテキストやレポートサーバーが実行されるアカウントのセキュリティ設定に問題があることを示しています。この場合、エラーメッセージは**「NT AUTHORITY\NETWORK SERVICE」**のログインが期待通りに機能していないことを示唆しています。問題を診断する際に考慮すべき重要なポイントは以下の通りです:
-
SQL認証: ユーザーがレポート用にSQL認証を使用している場合、これは権限の問題ではないと思われるかもしれません。しかし、SSRSが実行されるアカウントもジョブの実行に影響を及ぼす可能性があります。
-
サービスアカウントの問題: **「NT AUTHORITY\NETWORK SERVICE」**アカウントは、事前に不適切に設定された可能性のあるビルトインサービスアカウントであり、その権限が変更されている可能性があります。
問題を解決する手順
1. サービスアカウントの設定を確認する
まず、**「NT AUTHORITY\NETWORK SERVICE」**アカウントが正しく設定されているか確認します:
- **SQL Server Management Studio (SSMS)**に移動します。
- SQL Serverエージェントサービスのプロパティを確認し、それが**「NT AUTHORITY\NETWORK SERVICE」**アカウントで実行されていることを確認します。
2. SQL Serverエージェントジョブを確認する
スケジュールレポートを実行する責任のあるジョブを確認する必要があります:
- SSMSで、SQL Serverエージェントノードを展開し、レポートに関連するジョブを見つけます。
- ジョブステップをレビューし、特にそれらが実行されるセキュリティコンテキストを確認します。
3. 権限とアクセス権の確認
**「NT AUTHORITY\NETWORK SERVICE」**アカウントがジョブを実行するために必要な権限を持っていることを確認します:
- SSMSで、セキュリティ > ログインに移動します。
- **「NT AUTHORITY\NETWORK SERVICE」**がログイン権限を持ち、レポートに関連するデータベースにアクセスできることを確認します。
4. ジョブを編集し、所有者を変更する(必要に応じて)
すべての設定が正常に見えるが、問題が続く場合:
- ジョブの所有者を適切な権限を持つアカウントに変更することを検討します。
- ジョブを右クリックし、プロパティへ移動し、一般タブで所有者をビルトインサービスアカウントでないアカウントに変更します。
5. レビューとテスト
これらの変更を行った後、スケジュールレポートが正常に実行されるかテストします:
- SSMSを通じて、ジョブを手動で実行し、問題なく動作することを確認します。
- ログでのエラーメッセージを監視し、必要に応じて設定を調整します。
結論
SSRSでスケジュールレポートの問題に直面することは、大変な作業となることがあります。特に、ログインの問題により実行を拒否される場合はなおさらです。サービスアカウントの設定を体系的に確認し、ジョブの設定を検証し、権限を確認し、場合によってはジョブの所有権を調整することで、これらの問題を効果的に解決できます。
追加の支援が必要な場合は、The MSS Forumのようなオンラインで利用できる便利なリソースを参照することができます。このサイトでは、同様のトラブルシューティング手順が示されています。 これらのステップを実行し、解決策が見つからない場合は、ITまたはデータベース管理に連絡して、システム全体の権限やポリシーが干渉していないか確認してください。
これで、SSRSスケジュールレポートに関するほとんどの課題に対処する準備が整いました。幸運なレポート作成を!