サーバーおよびデータベースの接続に関する問題のトラブルシューティング
このトピックでは、レポート サーバーへの接続時に発生する問題のトラブルシューティングを行います。また、"予期しないエラー" メッセージについての情報も提供します。データ ソース構成およびレポート サーバー接続情報の構成の詳細については、「レポート データ ソースに関する資格情報と接続情報の指定」および「レポート サーバー データベース接続の構成」を参照してください。
データ ソース 'datasourcename' への接続を作成できません (rsErrorOpeningConnection)。
レポートにデータを提供する外部データ ソースに、レポート サーバーが接続できなかったときに発生する、一般的なエラーです。このエラーと共に、根本原因を示したもう 1 つのエラー メッセージが表示されます。rsErrorOpeningConnection と共に表示される追加エラーは、次のとおりです。
ユーザー 'UserName' はログインできませんでした。
ユーザーにはデータ ソースにアクセスする権限がありません。SQL Server データベースを使用している場合は、ユーザーが使用しているデータベース ユーザー ログインが有効であるかどうかを確認してください。データベース ユーザーまたは SQL Server ログインの作成方法の詳細については、「データベース ユーザーを作成する方法」および「SQL Server ログインを作成する方法」を参照してください。
ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。
複数のコンピューター接続を通じて資格情報が渡されたときに発生するエラーです。Kerberos Version 5 プロトコルが有効でない環境で Windows 認証を使用している場合、複数のコンピューター接続を通じて資格情報が渡されると、このエラーが発生します。このエラーを回避するには、保存された資格情報または要求された資格情報を使用することを検討してください。この問題に対処する方法の詳細については、「レポート データ ソースに関する資格情報と接続情報の指定」を参照してください。
サーバーへの接続を確立中にエラーが発生しました。SQL Server 2005 に接続している場合、既定の設定では SQL Server によるリモート接続が許可されていないために、このエラーが発生した可能性があります。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)。
このエラーは、レポート サーバー データベースをホストするデータベース エンジンのインスタンスによって返されます。ほとんどの場合、このエラーが発生すると SQL Server サービスが停止します。また、SQL Server Express with Advanced Services または名前付きインスタンスを使用している場合、レポート サーバーの URL かレポート サーバー データベースの接続文字列に誤りがあるとこのエラーが発生します。これらの問題を解決するには、次のことを行います。
SQL Server (MSSQLSERVER) サービスが開始されていることを確認します。データベース エンジンのインスタンスをホストするコンピューターで、[スタート] ボタンをクリックします。次に、[管理ツール] をクリックして、[サービス] をクリックし、[SQL Server (MSSQLSERVER)] までスクロールします。まだ開始していなかった場合は、サービスを右クリックして [プロパティ] を選択し、[スタートアップの種類] で [自動] をクリックして、[適用]、[開始]、[OK] の順にクリックします。
レポート サーバーの URL およびレポート サーバー データベースの接続文字列が正しいことを確認します。Reporting Services またはデータベース エンジンが名前付きインスタンスとしてインストールされている場合、セットアップ中に作成された既定の接続文字列にインスタンス名が含まれています。たとえば、DEVSRV01 というサーバー上に SQL Server Express with Advanced Services の既定のインスタンスをインストールした場合、レポート マネージャーの URL は DEVSRV01\Reports$SQLEXPRESS になります。さらに、接続文字列内のデータベース サーバー名は、DEVSRV01\SQLEXPRESS のようになります。SQL Server Express の URL およびデータ ソース接続文字列の詳細については、「SQL Server Express with Advanced Services の Reporting Services」を参照してください。レポート サーバー データベースの接続文字列を確認するには、Reporting Services 構成ツールを起動し、[データベースのセットアップ] ページを確認します。
接続を確立できません。サーバーが実行中であるか確認してください。
このエラーは ADOMD.NET プロバイダーから返されます。このエラーの発生原因はいくつかあります。サーバーを "localhost" と指定した場合は、代わりにサーバー名を指定してください。新しい接続にメモリを割り当てることができない場合にも、このエラーが発生します。詳細については、サポート技術情報の記事 912017 を参照してください。
エラーに "そのようなホストは不明です" が含まれている場合は、Analysis Services サーバーが使用できないか接続が拒否されています。Analysis Services サーバーが名前付きインスタンスとしてリモート コンピューター上にインストールされている場合は、このインスタンスが使用するポート番号を取得するために、SQL Server Browser サービスを実行する必要が生じることがあります。
(Report Services SOAP プロキシ ソース)
レポート モデルの生成中にこのエラーが発生し、追加情報のセクションに "SQL Server が存在しないかアクセスが拒否されました" と表示される場合は、次の状況が発生している可能性があります。
データ ソースの接続文字列に "localhost" が含まれています。
SQL Server サービスで TCP/IP が無効になっています。
このエラーを解決するには、サーバー名を使用するよう接続文字列を変更するか、SQL Server サービスで TCP/IP を有効にします。TCP/IP を有効にするには、次の手順を実行します。
SQL Server 構成マネージャーを起動します。
[SQL Server ネットワークの構成] を展開します。
[MSSQLSERVER のプロトコル] を選択します。
[TCP/IP] を右クリックし、[有効化] を選択します。
[SQL Server のサービス] を選択します。
[SQL Server (MSSQLSERVER)] を右クリックし、[再起動] をクリックします。
Windows Vista でのレポート サーバー エラー
Reporting Services SP1 以前のバージョンは、Windows Vista では動作しません。SP1 のレポート サーバーを Windows Vista で実行しようとすると、次のエラーが発生します。
SP1 アプリケーション |
表示されるメッセージ |
---|---|
レポート マネージャーまたはレポート サーバー (アップグレードの直後、ASP.NET を有効にする前または IIS を起動する前) |
Internet Explorer ではこのページは表示できません。 可能性のある原因:
|
Reporting Services 構成ツール |
WMI プロバイダーで不明なエラーが発生しました。エラー コード 8000000A |
レポート マネージャー |
レポート サーバーが応答していません。レポート サーバーが実行中で、このコンピューターからアクセスできることを確認してください。 |
レポート サーバー |
レポート サーバーで構成エラーが発生しました。詳細については、レポート サーバーのログ ファイルを参照してください。(rsServerConfigurationError) このエラーの詳細を表示するには、ローカルのサーバー コンピューターでレポート サーバーを開くか、リモート エラーを有効にしてください。 |
SP2 を適用するか、SQL Server 2008 にアップグレードし、レポート サーバーを稼働状態にすると、これらのエラーは表示されなくなります。
Management Studio でレポート サーバーに接続したときの WMI エラー
Management Studio がレポート サーバーとの接続を確立する際、既定では、Reporting Services Windows Management Instrumentation (WMI) プロバイダーが使用されます。WMI プロバイダーが正しくインストールされていない場合、レポート サーバーに接続しようとしたときに次のエラーが表示されます。
<サーバー名> に接続できません。Reporting Services WMI プロバイダーがインストールされていないか、正しく構成されていません (Microsoft.SqlServer.Management.UI.RSClient)。
このエラーを解決するにはソフトウェアを再インストールする必要があります。それ以外の場合、一時的な回避策として、レポート サーバーに SOAP エンドポイント経由で接続する方法があります。
- Management Studio の [サーバーへの接続] ダイアログ ボックスで、[サーバー名] にレポート サーバーの URL を入力します。既定では、http://<サーバー名>/reportserver になります。また、SQL Server 2008 Express with Advanced Services を使用している場合は、http://<サーバー名>/reportserver$sqlexpress になります。
エラーを解決して、WMI プロバイダーを使って接続できるようにするには、セットアップを実行して Reporting Services を修復するか、Reporting Services を再インストールする必要があります。
不明なユーザー名または不正なパスワードが原因のログイン失敗による接続エラー
レポート サーバーからレポート サーバー データベースへの接続にドメイン アカウントを使用しているときに、ドメイン アカウントのパスワードが変更された場合、rsReportServerDatabaseLogonFailed エラーが発生することがあります。
エラーのフルテキストは、"レポート サーバーでレポート サーバー データベースへの接続を開始できません。ログオンに失敗しました (rsReportServerDatabaseLogonFailed)。ファイル共有へのアクセス中にログオン エラーが発生しました。ユーザー アカウントまたはパスワードが無効です" です。
パスワードを再設定する場合、接続を更新する必要があります。詳細については、「レポート サーバー データベース接続の構成」を参照してください。
レポート サーバーでレポート サーバー データベースへの接続を開始できません。すべての要求および処理でデータベースに接続する必要があります (rsReportServerDatabaseUnavailable)。
サーバーの内部ストレージである SQL Server リレーショナル データベースにレポート サーバーから接続できないときに発生するエラーです。レポート サーバー データベースへの接続は、Reporting Services 構成ツールを使用して管理します。このツールを実行し、[データベースのセットアップ] ページで接続情報を修正できます。接続情報の更新には、このツールを使用することをお勧めします。このツールを使用すると、依存する設定の更新とサービスの再起動を確実に行えます。詳細については、「レポート サーバー データベース接続の構成」および「レポート サーバー サービスのアカウントの構成」を参照してください。
このエラーは、レポート サーバー データベースをホストしているデータベース エンジン インスタンスがリモート接続用に構成されていない場合にも発生します。SQL Server の一部のエディションでは、リモート接続が既定で有効になります。ご使用の SQL Server データベース エンジン インスタンスでリモート接続が有効かどうかを確認するには、SQL Server 構成マネージャー ツールを実行してください。TCP/IP および名前付きパイプの両方を有効にする必要があります。レポート サーバーでは両方のプロトコルを使用します。リモート接続を有効にする方法については、「レポート サーバーをリモート管理用に構成する方法」の「レポート サーバー データベースへのリモート接続を構成する方法」を参照してください。
データベース エンジン インスタンスの実行に使用したアカウントのパスワードの有効期限が切れている場合、エラーには "サーバーへの接続を確立中にエラーが発生しました。接続先が SQL Server である場合、既定の設定では SQL Server によるリモート接続が許可されていないために、このエラーが発生した可能性があります。(provider: SQL Server Network Interfaces, error: 26 - Error Locating Server/Instance Specified (プロバイダー: SQL Server ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの特定エラー))" という説明も含まれています。このエラーを解決するには、パスワードを再設定してください。
"RPC サーバーが受信待ちしていない"
レポート サーバー サービスでは、いくつかの操作にリモート プロシージャ コール (RPC) サーバーを使用します。"RPC サーバーが受信待ちしていない" エラーが発生した場合、レポート サーバー サービスが実行されていることを確認してください。
予期しないエラー (一般的なネットワーク エラーです)
データ ソースの接続エラーを示すエラーです。接続文字列をチェックし、データ ソースにアクセスするための権限があることを確認してください。Windows 認証を使用してデータ ソースにアクセスしている場合、データ ソースをホストするコンピューターにアクセスするための権限が必要です。
SharePoint サーバーの全体管理でデータベースへのアクセスを許可できない
Windows Vista または Windows Server 2008 上の SharePoint 製品やテクノロジと連携するように Reporting Services を構成した場合、SharePoint サーバーの全体管理の [データベース アクセスの許可] ページでアクセス権を付与しようとすると、"コンピューターへの接続を確立できません。" というエラー メッセージが表示されることがあります。
これは、Windows Vista および Windows Server 2008 のユーザー アカウント制御 (UAC) が原因です。管理者権限が要求される作業では、管理者からの明示的な許可を得て権限を昇格し、管理者トークンを使用する必要があります。ただしこの場合、Reporting Services サービス アカウントに SharePoint の構成データベースとコンテンツ データベースに対するアクセス権を付与するために、Windows SharePoint Services Administration サービスの権限を昇格させることはできません。
注 |
---|
SQL Server 2008 Reporting Services では、データベースへのアクセス権を必要とするのはレポート サーバー サービス アカウントだけですが、SQL Server 2005 Reporting Services SP2 では、レポート サーバー Windows サービス アカウントとレポート サーバー Web サービス アカウントの両方に、データベースへのアクセス権が必要です。SQL Server 2008 のレポート サーバー サービス アカウントの詳細については、「サービス アカウント (Reporting Services 構成)」を参照してください。 |
この問題には、2 つの回避策があります。1 つ目は、UAC を一時的に無効にし、SharePoint サーバーの全体管理を使ってアクセス権を付与する方法です。
重要 |
---|
UAC を無効にすることによってこの問題を回避する場合は注意が必要です。SharePoint サーバーの全体管理でデータベースへのアクセス権を付与したら、直ちに UAC を有効にしてください。UAC を無効にしないでこの問題を回避する場合は、このセクションで取り上げる 2 つ目の回避策を使用することになります。UAC の詳細については、Windows の製品ドキュメントを参照してください。 |
もう 1 つの回避策は、データベースへのアクセス権を Reporting Services サービス アカウントに対して手動で付与する方法です。次の手順に従い、Reporting Services サービス アカウントを適切な Windows グループおよび適切なデータベース ロールに追加することによってアクセス権を付与できます。
注 |
---|
この手順は、SQL Server 2008 Reporting Services のレポート サーバー サービス アカウントに適用されるものです。SQL Server 2005 Reporting Services を実行している場合は、レポート サーバー Windows サービス アカウントおよびレポート サーバー Web サービス アカウント向けの手順に従ってください。 |
データベースへのアクセス権を手動で付与するには
レポート サーバー サービス アカウントを Reporting Services コンピューターの WSS_WPG Windows グループに追加します。
SharePoint の構成データベースとコンテンツ データベースをホストするデータベース インスタンスに接続し、レポート サーバー サービス アカウント用の SQL データベース ログインを作成します。
次のデータベース ロールに SQL データベース ログインを追加します。
WSS Content データベースの db_owner ロール
SharePoint_Config データベースの WSS_Content_Application_Pools ロール
レポート サーバーのデータベースを Microsoft Cluster Services (MSCS) クラスター上で実行されている仮想 SQL Server 上に作成した場合、/reports ディレクトリと /reportserver ディレクトリに接続できない
レポート サーバーのデータベース (ReportServer および ReportServerTempDB) を、MSCS クラスターの仮想 SQL Server 上に作成した場合、<ドメイン>\<コンピューター名>$ 形式のリモート名が、SQL Server にログインとして登録されていない可能性があります。このような形式のリモート名が接続で必要となるように、レポート サーバー サービス アカウントを構成した場合、ユーザーは Reporting Services の /reports ディレクトリおよび /reportserver ディレクトリに接続できません。たとえば、組み込みの Windows アカウントである NetworkService では、このようなリモート名が必要になります。この問題を回避するには、明示的なドメイン アカウントまたは SQL Server ログインを使用して、レポート サーバーのデータ ベースに接続するようにします。