You are currently offline, waiting for your internet to reconnect

Your browser is out-of-date

You need to update your browser to use the site.

Update to the latest version of Internet Explorer

Error message when you try to create an instance of an OLE DB provider in SQL Server: "Cannot create an instance of OLE DB provider"

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

SYMPTOMS
Consider the following scenario:
  • You install Microsoft SQL Server 2005 or Microsoft SQL Server 2008.
  • You try to create or run a linked server query.
  • The linked server query is created or run under the context of a user who is not a local administrator.
In this scenario, you may receive an error message that resembles the following:
Cannot create an instance of OLE DB provider "provider_name" for linked server "linked_server_name"
CAUSE
This issue can occur if the security settings for the MSDAINITIALIIZE DCOM class are incorrect.
RESOLUTION
To resolve this issue in Windows Vista and later versions of Windows, follow these steps, and start with step 1. If you are running an earlier version of Windows, start with step 7:
  1. Click Start, type regedit in the Search programs and files box, press Enter, and then click Yes.
  2. Locate the following subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{2206CDB0-19C1-11D1-89E0-00C04FD7A829}
  3. Right-click {2206CDB0-19C1-11D1-89E0-00C04FD7A829}, click Permissions, and then click Advanced.
  4. On the Owner tab, under Change owner to, click Administrators, or click the user account that you want, and then click Apply.
  5. On the Permissions tab, grant the Administrators group or the user account Full Control permissions, and then click OK two times.
  6. Exit Registry Editor.
  7. Click Start, type Dcomcnfg in the Search programs and files box, and then press Enter.
  8. Expand Component Services, expand Computers, expand My Computer, and then click DCOM Config.
  9. Right-click MSDAINITIALIZE, and then click Properties.
  10. On the Security tab, under Launch and Activation Permissions, click Customize, and then click Edit.
  11. Add the Administrators group or the user account that you want.

    Note
    If you are running Windows Vista or a later version of Windows, add the user or group that you specified in step 4.
  12. Click to select the Administrators group or the user account
  13. Under Permissions for SYSTEM, click to select the following check boxes under Allow:
    • Local Launch
    • Remote Launch
    • Local Activation
    • Remote Activation
    Note If you connect to SQL Server by using a SQL Server account, you must grant these permissions to the account under which SQL Server is running.
  14. Click OK.
  15. On the Security tab, under Access Permissions, click Customize, and then click Edit.
  16. Click the Administrators group or user account, and then click to select the following check boxes under Allow:
    • Local Access
    • Remote Access
    Note Add the Administrator group or user account if it is necessary.
  17. Click OK.
  18. On the Security tab, under Configuration Permissions, click Customize, and then click Edit.
  19. Click the Administrator group or the user account, and then click to select the Full Control check box under Allow.
  20. Click OK two times.
  21. Exit Component Services.
MORE INFORMATION
In Windows Vista and later versions, the TrustedInstaller system account owns the MSDAINITIALIZE DCOM class. The TrustedInstaller system account is the only account that has write permissions on the MSDAINITIALIZE class. Therefore, in Windows Vista and later versions, you must perform steps 1 through 6 in the "Resolution" section before you edit the properties of the MSDAINITIALIZE class.
Sql, Linked Server, OLEDB, MSDAINITIALIZE
Properties

Article ID: 2647989 - Last Review: 05/14/2012 20:23:00 - Revision: 1.0

  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Service Pack 2
  • Microsoft SQL Server 2005 Service Pack 3
  • Microsoft SQL Server 2005 Service Pack 4
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • kbsurveynew kbprb kbtshoot KB2647989
Feedback