Error: IDBInitialize::Initialize Failed init_DB DB_instance_open_as_dba: -998 DBMS error code: 8180

Error Message

The following error message is displayed when trying to start an ArcSDE service in SDE_<SERVICE>.log file for SQL server.

ArcSDE 9.1 SQL Server Build 2101 Thu Mar 3 18:55:48 PST 2005
IDBInitialize::Initialize Failed
init_DB DB_instance_open_as_dba: -998
DBMS error code: 8180
Microsoft OLE DB Provider for SQL Server: Deferred prepare could not
be completed.
Invalid object name 'sde.sde.SDE_layers'.

The above error message is nearly identical at version 9.0.


There are two known issues that report similar error messages, but result from different tasks. These causes are not entirely inclusive for this error message, but give two documented cases of this occurring.

Please note that the Cause and Solution are listed in the order to which case they correspond to below:

· After restoring database from backup, SDE login and user are out of synch.
When a database is restored from a backup or attached from a previously detached database, the SDE user is not in synch with the login for that instance of SQL server. The user restores or attaches the database and tries to create a service to connect to this database. If they do not synch the SDE login with the user within that database, the service will not start and the error message is displayed in the SDE_<service>.log file.

· ADMIN_DATABASE is not specified.
This error message is displayed when there is no ADMIN_DATABASE specified for the service. Services that are created for ArcSDE for Microsoft SQL server require an ADMIN_DATABASE to be set. This ADMIN_DATABASE points the service to the correct SQL server database to store and retrieve data.

In the multiple database model, the ADMIN_DATABASE defaults to the SDE database for repository tables. With the introduction of ArcSDE 9.0 and the single database model, the ADMIN_DATABASE can vary on which database/repository to connect to for each corresponding service and must be specified.

Trying to start an ArcSDE service when the ADMIN_DATABASE is not assigned or incorrect will result in the following when executing from the command line:
[O-image] Starting ArcSDE Service without an ADMIN_DATABASE set

Solution or Workaround

  • Resync SDE login and user.
    Refer to the link in the Related Information section for more information synching logins for SQL authenticated users.
  • Specify or modify ADMIN_DATABASE.
    - Set an admin database for SQL server:

    sdeservice –o register –r ADMIN_DATABASE –v <database_name> -d SQLSERVER –i service –p password

    - Run the following command to change the service and point to the correct database name:

    sdeservice -o modify -r ADMIN_DATABASE -v sde -d sqlserver -p sde -i esri_sde

    Use the 'sdeservice -o list' command to verify if a service that does not have an ADMIN_DATABASE defined:
    [O-image] sdeservice -o list showing no ADMIN_DATABASE has been specified

Related Information