リンクサーバーをSSASに登録するために使用しているコードは次のとおりです。
USE [master];
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'ServerAlias',
@srvproduct = N'',
@provider= N'MSOLAP',
@datasrc= N'ActualServerName',
@catalog = N'DatabaseName';
OPENQUERY
を使用してMDXクエリを実行しようとした場合、または上記のコードを実行した後にManagement Studioで[テスト接続]コマンドを使用した場合、エラーが発生します。
メッセージ7403、レベル16、状態1、行1
OLE DBプロバイダー "MSOLAP"は登録されていません。
このプロバイダーはSQL Serverの一部としてインストールされるため、これはかなり奇妙です。
私は このMicrosoft KB記事 を見て、正確な問題を説明しています。ただし、適用できる解決策はありません。私がインターネット上で見つけたこのエラーの他のすべての例は、リンクサーバーを誤って定義している誰かが原因でしたが、これも適用できません。
これは(ありがたいことに)開発サーバーなので、ほとんどすべてのオプションがテーブルにあります。修理はこれを修正しますか?レジストリに問題があるようです。
(権限がないため、自分でメンテナンスを行うことができないため、最初に指示を求めています。)
SQL Server Analysis Servicesドライバーは、サーバーにSSASをインストールしない限り、通常のSQL Serverインストールの一部として実際にはインストールされません。
MSOLAPドライバーは SQL Server機能パック からダウンロードしてインストールできます。次に、リンクサーバーを作成できます。 64ビットSQL Serverがある場合は64ビットインストールを、32ビットSQLサーバーがある場合は32ビットをインストールすることを忘れないでください。
Msolap * .dllを検索して、インストールされているプロバイダーを見つけ、regsvr32
を使用してそれらを登録します。
次に例を示します(ファイルの場所は異なる場合があります)。
C:\>regsvr32 "C:\Program Files (x86)\Microsoft Analysis Services\AS OLEDB\130\msolap130.dll"
C:\>regsvr32 "C:\Program Files (x86)\Microsoft Analysis Services\AS OLEDB\110\msolap110.dll"
また、64ビットOSを使用している場合:
C:\>regsvr32 "C:\Program Files\Microsoft Analysis Services\AS OLEDB\120\msolap130.dll"
また、コマンドプロンプトをAdministratorとして実行していることを確認してください。