PRB: Scheduled DTS Package Fails With "Permission Denied: CreateObject" (298725)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server, Standard Edition 7.0

This article was previously published under Q298725
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

A Data Transformation Services (DTS) package containing a Microsoft Visual Basic Script task that calls CreateObject may fail when scheduled if the default access permissions in Dcomcnfg.exe have not been configured to include the SQLAgent account. These permissions are stored in the registry key HKLM/Software/Microsoft/Ole/DefaultAccessPermission. The log file for the DTS tasks will report:
Package Steps execution information: Step 'DTSStep_DTSActiveScriptTask_1' failed

Step Error Source: Microsoft Data Transformation Services (DTS) Package Step Error Description:Error Code: 0 Error Source= Microsoft VBScript runtime error Error Description: Permission denied: 'CreateObject'

Error on Line (xx)

Step Error code: 800403FE Step Error Help File:sqldts80.hlp Step Error Help Context ID:4500
This will only happen when the SQLAgent is running under a Windows NT logon account. This same package will run successfully interactively from the DTS designer or from DTSrun.exe or when scheduled if the SQLAgent service is running under the system account.

CAUSE

By default the registry value DefaultAccessPermission in HKLM\software\Microsoft\Ole does not exist. If an operator adds groups or users in default access permissions by using the DCOMcnfg utility, then the value DefaultAccessPermission is created.

If the account that SQL Agent is started with is not included in DCOMcnfg's default access permission, the package will return the error noted in the "Symptoms" section and the package execution will fail.

RESOLUTION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


To resolve this problem do one of the following:
  • Use the DCOMcnfg utility to add the SQLAgent login account to allow access under DefaultAccessPermissions. To add an account, do the following:
    1. Start DCOMcnfg.exe.
    2. Click the Default security tab.
    3. Click Edit default in the Default Access Permissions window.
    4. Add the users as desired.
    -or-

  • Delete or rename the HKLM/Software/Microsoft/Ole/DefaultAccessPermission key. WARNING: Note that this will effect the default permissions for all users on the computer. Before making this change ensure that this will not negatively effect any other DCOM applications on the computer. Although this will resolve the problem, Microsoft strongly recommends that you use the other resolution, described previously.

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:11/3/2003
Keywords:kbprb KB298725