Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Here's the code I'm using to register a linked server to SSAS:

USE [master];
GO

EXEC master.dbo.sp_addlinkedserver
    @server = N'ServerAlias',
    @srvproduct = N'',
    @provider= N'MSOLAP',
    @datasrc= N'ActualServerName',
    @catalog = N'DatabaseName';

When I attempt to run an MDX query using OPENQUERY, or if I use the Test Connection command in Management Studio after running the above code, I get the error:

Msg 7403, Level 16, State 1, Line 1
The OLE DB provider "MSOLAP" has not been registered.

This is pretty strange as this provider is installed as part of SQL Server.

  • It also fails on all other instances on the same box -- 5 total instances of 2008 R2 RTM and 2008 R2 SP1. I don't remember exactly, but 1 or 2 of the instances on the problem box may have been upgraded from 2008 to 2008 R2 at some point.
  • It succeeded on a couple of other boxes using 2008 R2, including one box that has about a dozen total instances of 2005, 2008 R2 and 2012. I tried both 32-bit and 64-bit with success.

I looked at this Microsoft KB article which describes the exact issue; however, there isn't a resolution that's applicable. Every other instance of this error I found on the internet was due to someone incorrectly defining the linked server, which also isn't applicable.

This is a development server (thankfully), so pretty much all options are on the table. Would a Repair fix this? It feels like something is awry in the registry.

(I'm asking for direction first, as I can't perform any maintenance myself due to lack of permissions.)

share|improve this question
up vote 7 down vote accepted

The SQL Server Analysis Services drivers aren't actually installed as a part of the normal SQL Server installation unless you install SSAS on the server.

You can download the MSOLAP driver from the SQL Server feature pack and install it. Then you can create the linked server. Don't forget to install the 64bit install if you have a 64bit SQL Server or the 32bit if you have a 32bit SQL Server.

share|improve this answer

Search for msolap*.dll to find your installed providers and register them using regsvr32.

Examples follow (your file locations may vary):

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"

And if you are using a 64-bit OS:

C:\>regsvr32 "C:\Program Files\Microsoft Analysis Services\AS OLEDB\120\msolap130.dll"

Also make sure that you are running the Command Prompt as Administrator

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.