A production server was not able to deploy cubes today. The environment is using SQL Server 2012
Errors
I saw some errors such as
- Failed to build the OLAP cubes. Error: Failed to process the Analysis Services database Test2012 on the <ASServerName> server. Error: Errors in the back-end database access module. The provider ‘SQLNCLI10’ is not registered.
- The following system error occurred: Class not registered
- Errors in the back-end database access module. The provider ‘SQLNCLI10’ is not registered.
Investigation
I looked at the DB server and found that the structure of the cube has been created – so I successfully connected to the server, but it could not go off to the database server to get the data.
To confirm the native client requirement I also looked at the Connection string already created on the AS Server as part of the Project Reporting data source
Provider=SQLNCLI10;Data Source=<DBServer> ;Initial Catalog=ProjectServer_Reporting;Integrated Security=SSPI;Persist Security Info=False.
Solution
Regardless of if you are running 2005 or 2008 or 2012 (or anywhere in between) you will need to have the 2008 Native Client installed
On the client you need to have installed the Microsoft SQL Server Native Client (SQL Server Native Client). This is a single dynamic-link library (DLL) containing both the SQL OLE DB provider and SQL ODBC driver.
The sqlncli10 provider for SQL 2008 R2 can be downloaded from here.
X86 package.
X64 package
IA64 package.
In case you have a SQL 2012 server and have received a Power Pivot sheet which want to use the SQLNCLI10 provider, you can change the data provider to use to data provider for SQL 2012: SQLNCLI11
In case you can’t selected the SQL Server Native Client 11.0. The provider is not installed on your client. The SQLNCLI11 provider for SQL 2012 can be downloaded from here:
X86 package
X64 package
That should be it. After installing the SQL Server Native Client, redeploy your cubes