"System Message 5003 - Unable to open the specified server database" error when you try to sign in to Microsoft Dynamics SL

This article provides solutions to an error that occurs when you try to sign in to Microsoft Business Solutions - Solomon or Microsoft Dynamics SL.

Applies to:   Microsoft Dynamics SL
Original KB number:   875704

Symptoms

When you try to sign in to Microsoft Business Solutions - Solomon or Microsoft Dynamics SL, you receive the following error message:

System Message 5003 - Unable to open the specified server database

Cause

This problem occurs for one or more of the following reasons.

Cause 1

The servername value in the domain table in the Microsoft Dynamics SL system database doesn't match the name of the instance of the SQL Server that contains the Microsoft Dynamics SL databases. See Resolution 1.

Cause 2

An alias in the Client Network Utility points to an old server. Make sure that the alias in the Client Network Utility is correct. See Resolution 2.

Cause 3

The Named Pipes protocol and the TCP/IP protocol aren't enabled in the Client Network Utility. See Resolution 3.

Cause 4

When you try to sign in to a new Microsoft Dynamics SL application database, and the name of the database begins with a number, the error displays. Because there's a limitation in SQL Server, the database names are required to begin by using an alphabetical character. See Resolution 4.

Cause 5

You can't establish a Named Pipes connection to the server because you have insufficient Windows permissions. See Resolution 5.

Cause 6

TCP/IP is configured incorrectly. See Resolution 6.

Cause 7

The database is set to Single-User mode. See Resolution 7.

Cause 8

The Capicom.dll file on the computer where the error is being received is either corrupted or the version is incorrect. See Resolution 8.

Cause 9

The Windows Firewall on the SQL Server is blocking the access to the SQL Server/SL databases. See Resolution 9.

Cause 10

You use the Windows Authentication security model in Microsoft Dynamics SL. However, you haven't linked the user ID in Microsoft Dynamics SL to the user ID in Windows. Additionally, you manually created the same user ID in the Microsoft Dynamics SL system database in SQL Server. See Resolution 10.

Cause 11

The Microsoft Dynamics SL user account is a member of the ADMINISTRATORS group in Microsoft Dynamics SL. However, the related Windows domain user account isn't a member of the sysadmin role in SQL Server. See Resolution 11 and Resolution 12.

Cause 12

The Windows Firewall in Windows Server 2008 R2 is blocking the access to the SQL Server/SL databases. See Resolution 13.

Cause 13

Occurs in the Find Database (98.000.01) screen when you select an application database in the Database Name box. See Resolution 14.

Cause 14

Occurs in the Find Database (98.000.01) screen when you select OK after having selected the Server Name and Database Name. See Resolution 15.

Resolution

To resolve this problem, use the appropriate resolution.

Resolution 1

Verify the servername value in the domain table to make sure that the value matches the name of the instance of the SQL Server where the Microsoft Dynamics SL installation is located.

  1. In SQL Server Management Studio, run the following statement on the Microsoft Dynamics SL system database.

    Select servername, * from domain
    
  2. If the servername value doesn't match the instance name of SQL Server, run the following statement to update the servername value:

    UPDATE Domain SET ServerName = '<Nameofserver>'
    --Replace the <Nameofserver> placeholder with the instance name of SQL Server.
    
  3. Sign in to Database Maintenance.

  4. On the Update Databases tab, select the Microsoft Dynamics SL system database and all associated application databases, and then select Update Views.

Resolution 2

Remove the alias that refers to the old server. To do it, follow these steps:

  1. Select Start, select Run, type cliconfg, and then press ENTER.
  2. On the Alias tab, verify that all aliases listed are correct and are for current servers. If any of the aliases refer to old servers, use the pointer to put the focus on the one that you want to remove, and then select Remove.
  3. Select OK.

On a 32-bit computer:
Go to start > Run > type cliconfg

On a 64-bit computer:

  1. Browse to C:\Windows\SysWOW64
  2. Run cliconfg.exe located in that folder

Resolution 3

Verify Named Pipes and TCP/IP are enabled in the Client Network Utility.

  1. Select Start, select Run, type cliconfg, and then press ENTER.

  2. On the General tab, verify that the Named Pipes protocol and the TCP/IP protocol appear in Enabled protocols by order. If these protocols aren't enabled, use the pointer to put the focus on each one, and then select Enable.

  3. If the Named Pipes protocol isn't the first protocol in the list, select the Named Pipes protocol and use the arrow keys to move it.

  4. Select OK.

    Note

    Typically, there is no set recommendation on which protocol should load first. Depending on network configurations, one protocol may work better than the other.

On a 32-bit computer:

  1. Go to start > Run > type cliconfg
  2. Make sure both Named Pipes and TCP/IP are enabled.

On a 64-bit computer:

  1. Browse to C:\Windows\SysWOW64.
  2. Run cliconfg.exe located in that folder
  3. Make sure both Named Pipes and TCP/IP are enabled.

Resolution 4

Create a backup of the existing Microsoft Dynamics SL application and system databases, and then restore the databases to the same server by using alpha database names.

Note

In step 4, make sure that you restore the database to the same SQL Server.

Resolution 5

Grant user sufficient permissions in Windows.

Note

SQL Server can't read the Registry Settings to establish a Named Pipe connection because the user has insufficient permissions in Windows. Contact the Network System Administrator for help.

Resolution 6

Verify that TCP/IP is configured correctly.

  1. If you use DHCP to assign IP addresses, make sure that the computer that generates the error is letting the DHCP server to assign the address, instead of assigning a static IP address.

  2. Verify that the workstation can ping the server. To do it, follow these steps:

    1. Select Start, select Run, type cmd, and then press ENTER.

    2. At the DOS prompt, type ping <ServerName> or type ping <ServerIPAddress>.

      Note

      Replace the <ServerName> placeholder with the name of the server. Replace the <ServerIPAddress> placeholder with the IP address of the server.

  3. If you use static DNS resolution, add the server that is running SQL Server to the DNS Server Search Order list that is found in Network - TCP/IP Properties - DNS Configuration, or to the Host file on the workstation computer. Contact the Network System Administrator for help.

Resolution 7

Clear Single User Access in Database Properties.

  1. Open SQL Server Management Studio.
  2. Expand Databases.
  3. Right-click the Microsoft Dynamics SL application database, select Properties.
  4. On the Options page, and verify that Single User isn't selected as the Restrict Access value.

Resolution 8

Verify the version of the Capicom.dll file and manually register the file.

  1. Locate the Capicom.dll file in the following paths:

    32-bit Operating System: <SystemDrive>:\Windows\System32

    64-bit Operating System: <SystemDrive>:\Windows\SysWOW64

    Note

    <SystemDrive> represents the drive on which Microsoft Windows is installed.

  2. Verify that the version of the Capicom.dll file is 2.1.0.1. To do it, follow these steps:

    1. Right-click the Capicom.dll file, and then select Properties. The capicom.dll Properties dialog box appears.
    2. On the Version tab, verify that the File version value is 2.1.0.1.
    3. Select OK.
  3. Right-click the Capicom.dll file, and then select Open With.

  4. In the Windows dialog box, select Select the program from a list, and then select OK.

  5. In the Open With dialog box, select Browse.

  6. Locate and then open the following folder:

    32-bit Operating System: <SystemDrive>:\Windows\System32 64-bit Operating System: <SystemDrive>:\Windows\SysWOW64

  7. Double-click the Regsvr32.exe file, and then select OK.

  8. Select OK when you receive the following message:

    RegSvr32 - DllRegisterServer in SystemDrive :\windows\system32\capicom.dll succeeded.

Resolution 9

Open port 1433 on the SQL Server. To do it, follow these steps:

  1. In Control Panel, select Windows Firewall.
  2. On the Exceptions tab, select Add Port.
  3. Specify the following settings:
    • Name: 1433
    • Port number: 1433
    • Select TCP.
  4. Select OK two times.

Resolution 10

Delete the user ID that you created in SQL, and then link the Microsoft Dynamics SL user ID to the Windows user ID. To do it, follow these steps:

  1. Delete the user ID that you created in SQL:

    1. In SQL Server Management Studio, expand Databases, expand the Microsoft Dynamics SL system database, expand Security, and then expand Users.
    2. Right-click the user ID that you created, and then select Delete.
    3. In the Delete Object dialog box, select OK.
  2. Link the Microsoft Dynamics SL user ID to the Windows user ID:

    1. Sign in to Microsoft Dynamics SL by using the SYSADMIN user ID.

    2. In the navigation pane, select Administration.

    3. In the Administration details pane, under Security, select User Maintenance.

    4. In the User ID box, type the user ID that can't sign in to Microsoft Dynamics SL.

    5. On the Details tab, in the Windows User Name box, type <DomainName>\<UserName>.

      Note

      Replace the <DomainName> placeholder with the Windows domain name and replace the <UserName> placeholder with the Windows user ID.

    6. Select Save, and then close the User Maintenance (95.260.00) screen.

Resolution 11

Synchronize the ownership and security on the Microsoft Dynamics SL databases. To do it, follow these steps:

  1. Open the Database Maintenance (98.290.00) screen.
  2. In the Destination SQL Server Name box, type the name of the server.
  3. In the Login ID box, type sa.
  4. In the Password box, type the password for the SYSADMIN user.
  5. Select Connect.
  6. On the Update Database tab, in the System Database Name box, select the system database.
  7. In the Databases column, select your application database.
  8. In the Update Scenarios area, select Synchronize All Ownership & Security.
  9. Select Update Database.
  10. Close the Database Maintenance (98.290.00) screen.

Resolution 12

Remove and readd all users to the ADMINISTRATORS group in Microsoft Dynamics SL. To do it, follow these steps:

Note

This resolution assumes that one or more than one Microsoft Dynamics SL user account that has administrative permissions can sign in to Microsoft Dynamics SL.

  1. Sign in to the domain by using a Windows domain user account that is linked to a Microsoft Dynamics SL user account that has administrative permissions.
  2. Select Administration.
  3. In the System Manager pane, select Group Maintenance under Security.
  4. In the Group ID box, type ADMINISTRATORS, and then press TAB.
  5. Note

    The user IDs listed in the Detail area.

  6. Delete all users from the list except for the user ID you're currently signed in as.
  7. Select Save.
  8. Add the user IDs, and then select Save.
  9. Close the Group Maintenance (95.280.00) screen.

Resolution 13

Open port numbers 1433 and 1434. To do it, follow these steps:

  1. On the computer that is running SQL Server, select Start, point to Administrative Tools, and then select Windows Firewall with Advanced Security.
  2. Right-click Inbound Rules, select New Rule, and then select Next.
  3. Select All programs, and then select Next.
  4. Select Next, click to clear the Public check box, and then select Next.
  5. Type SQL SERVER in the Name box, and then select Finish.
  6. In the Inbound Rules pane, right-click SQL SERVER, and then select Properties.
  7. On the Protocols and Ports tab, select TCP in the Protocol type box.
  8. In the Local Port box, select Specific Ports, and then type 1433.
  9. Select Apply, and then select OK.
  10. Right-click Inbound Rules, select New Rule, and then select Next
  11. Select All programs, and then select Next.
  12. Select Next, click to clear the Public check box, and then select Next.
  13. Type SQL SERVER BROWSER in the Name box, and then select Finish.
  14. In the Inbound Rules pane, right-click SQL SERVER BROWSER, and then select Properties.
  15. On the Protocols and Ports tab, select UDP in the Protocol type box.
  16. In the Local Port box, select Specific Ports, and then type 1434.
  17. Select Apply, and then select OK to close the SQL SERVER BROWSER Properties dialog box.

Resolution 14

Select the appropriate system database name in the Database Name box, and then select OK.

Resolution 15

Add an Alias back to the SQL server in the SQL Server Client Network Utility:

On a 32-bit machine:

  1. Go to start > Run > type cliconfg
  2. Make sure both Named Pipes and TCP/IP are enabled.
  3. On the Alias tab, select Add.
  4. For Server Alias, type your servername exactly as you're typing it in the Find Databases screen.
  5. Leave everything else default. (Should default as a named pipes alias)
  6. Select OK.
  7. Select Apply.
  8. Select OK.

On a 64-bit machine:

  1. Navigate to C:\Windows\SysWOW64
  2. Run cliconfg.exe located in that folder
  3. Make sure both Named Pipes and TCP/IP are enabled.
  4. On the Alias tab, select Add.
  5. For Server Alias, type your servername exactly as you're typing it in the Find Databases screen.
  6. Leave everything else default. (Should default as a named pipes alias)
  7. Select OK.
  8. Select Apply.
  9. Select OK.

More Information

To exclude network issues, create a test ODBC connection on the computer where you receive the error message. To do it, follow these steps:

  1. In Control Panel, select Administrative Tools, and then select Data Sources (ODBC).
  2. On the User DSN tab, select Add, scroll to the end of the list, select SQL Server, and then select Finish.
  3. Specify the following settings:
    • Name: TEST
    • Description: TEST
    • Server: Type the SQL Server to which you want to connect.
  4. Select Next.
  5. Select windows authentication or SQL authentication, and type the sa username and password if you've to.
  6. Select Next two times, select Finish, and then select Test Data Source.