Ошибка "Системное сообщение 5003 — не удается открыть указанную серверную базу данных" при попытке входа в Microsoft Dynamics SL
В этой статье описаны способы устранения ошибки, возникающей при попытке входа в Microsoft Business Solutions — Solomon или Microsoft Dynamics SL.
Применимо к: Microsoft Dynamics SL
Исходный номер базы знаний: 875704
Симптомы
При попытке войти в Microsoft Business Solutions — Solomon или Microsoft Dynamics SL появляется следующее сообщение об ошибке:
Системное сообщение 5003 — не удается открыть указанную серверную базу данных
Причина
Эта проблема возникает по одной или нескольким из следующих причин.
Причина 1
Значение servername в таблице доменов в системной базе данных Microsoft Dynamics SL не соответствует имени экземпляра SQL Server, содержащего базы данных Microsoft Dynamics SL. См . решение 1.
Причина 2
Псевдоним в служебной программе клиентской сети указывает на старый сервер. Убедитесь, что в служебной программе клиентской сети указан правильный псевдоним. См . решение 2.
Причина 3
Протокол именованных каналов и протокол TCP/IP не включены в служебной программе клиентской сети. См . решение 3.
Причина 4
При попытке войти в новую базу данных приложения Microsoft Dynamics SL и имя базы данных начинается с числа, отображается ошибка. Так как в SQL Server есть ограничение, имена баз данных должны начинаться с алфавита. См . решение 4.
Причина 5
Невозможно установить подключение именованных каналов к серверу, так как у вас недостаточно разрешений Windows. См . решение 5.
Причина 6
TCP/IP настроен неправильно. См . решение 6.
Причина 7
База данных настроена в режиме Single-User. См . резолюцию 7.
Причина 8
Файл Capicom.dll на компьютере, на котором получена ошибка, поврежден или указана неправильная версия. См . резолюцию 8.
Причина 9
Брандмауэр Windows на SQL Server блокирует доступ к базам данных SQL Server/SL. См . решение 9.
Причина 10
Вы используете модель безопасности проверки подлинности Windows в Microsoft Dynamics SL. Однако вы не связали идентификатор пользователя в Microsoft Dynamics SL с идентификатором пользователя в Windows. Кроме того, вы вручную создали тот же идентификатор пользователя в системной базе данных Microsoft Dynamics SL в SQL Server. См . решение 10.
Причина 11
Учетная запись пользователя Microsoft Dynamics SL является членом группы АДМИНИСТРАТОРЫ в Microsoft Dynamics SL. Однако связанная учетная запись пользователя домена Windows не является членом роли sysadmin в SQL Server. См . резолюцию 11 и резолюцию 12.
Причина 12
Брандмауэр Windows в Windows Server 2008 R2 блокирует доступ к базам данных SQL Server/SL. См . решение 13.
Причина 13
Происходит на экране Поиск базы данных (98.000.01) при выборе базы данных приложения в поле Имя базы данных. См . резолюцию 14.
Причина 14
Происходит на экране Найти базу данных (98.000.01), когда после выбора имени сервера и имени базы данных нажмите кнопку ОК . См . резолюцию 15.
Решение
Чтобы устранить эту проблему, используйте соответствующее решение.
Решение 1
Проверьте значение servername в таблице доменов, чтобы убедиться, что значение совпадает с именем экземпляра SQL Server, где находится установка Microsoft Dynamics SL.
В SQL Server Management Studio выполните следующую инструкцию в системной базе данных Microsoft Dynamics SL.
Select servername, * from domain
Если значение servername не совпадает с именем экземпляра SQL Server, выполните следующую инструкцию, чтобы обновить значение servername:
UPDATE Domain SET ServerName = '<Nameofserver>' --Replace the <Nameofserver> placeholder with the instance name of SQL Server.
Войдите в обслуживание базы данных.
На вкладке Обновление баз данных выберите системную базу данных Microsoft Dynamics SL и все связанные базы данных приложений, а затем выберите Обновить представления.
Решение 2
Удалите псевдоним, ссылающийся на старый сервер. Для этого выполните следующие действия:
- Нажмите кнопку Пуск, выберите Выполнить, введите cliconfg и нажмите клавишу ВВОД.
- На вкладке Псевдоним убедитесь, что все перечисленные псевдонимы правильные и предназначены для текущих серверов. Если какой-либо из псевдонимов относится к старым серверам, используйте указатель, чтобы поместить фокус на тот, который требуется удалить, а затем нажмите кнопку Удалить.
- Нажмите ОК.
На 32-разрядном компьютере:
Перейти к запуску>Тип выполнения>cliconfg
На 64-разрядном компьютере:
- Перейти к
C:\Windows\SysWOW64
- Запуск cliconfg.exe, расположенных в этой папке
Решение 3
Убедитесь, что в программе клиентской сети включены именованные каналы и TCP/IP.
Нажмите кнопку Пуск, выберите Выполнить, введите cliconfg и нажмите клавишу ВВОД.
На вкладке Общие убедитесь, что протокол именованных каналов и протокол TCP/IP отображаются в разделе Включенные протоколы по порядку. Если эти протоколы не включены, используйте указатель, чтобы сосредоточиться на каждом из них, а затем выберите Включить.
Если протокол именованных каналов не является первым протоколом в списке, выберите протокол именованных каналов и используйте клавиши со стрелками, чтобы переместить его.
Нажмите ОК.
Примечание.
Как правило, не существует рекомендаций относительно того, какой протокол следует загрузить в первую очередь. В зависимости от конфигураций сети один протокол может работать лучше, чем другой.
На 32-разрядном компьютере:
- Перейти к запуску>Тип выполнения>cliconfg
- Убедитесь, что включены именованные каналы и TCP/IP.
На 64-разрядном компьютере:
- Перейдите к .
C:\Windows\SysWOW64
- Запуск cliconfg.exe, расположенных в этой папке
- Убедитесь, что включены именованные каналы и TCP/IP.
Решение 4
Создайте резервную копию существующего приложения Microsoft Dynamics SL и системных баз данных, а затем восстановите базы данных на том же сервере с помощью альфа-имен баз данных.
Примечание.
На шаге 4 обязательно восстановите базу данных в том же SQL Server.
Решение 5
Предоставьте пользователю достаточные разрешения в Windows.
Примечание.
SQL Server не удается прочитать параметры реестра, чтобы установить подключение по именованной каналу, так как у пользователя недостаточно разрешений в Windows. Обратитесь за помощью к администратору сетевой системы.
Решение 6
Убедитесь, что TCP/IP настроен правильно.
Если для назначения IP-адресов используется DHCP, убедитесь, что компьютер, создающий ошибку, позволяет DHCP-серверу назначить этот адрес, а не назначать статический IP-адрес.
Убедитесь, что рабочая станция может проверить связь с сервером. Для этого выполните следующие действия:
Нажмите кнопку Пуск, выберите Выполнить, введите cmd и нажмите клавишу ВВОД.
В командной строке DOS введите ping <ServerName> или ping <ServerIPAddress>.
Примечание.
Замените <заполнитель ServerName> именем сервера. Замените <заполнитель ServerIPAddress> IP-адресом сервера.
Если используется статическое разрешение DNS, добавьте сервер под управлением SQL Server в список Порядок поиска DNS-сервера, который находится в разделе Сеть — свойства TCP/IP — конфигурация DNS, или в файл узла на компьютере рабочей станции. Обратитесь за помощью к администратору сетевой системы.
Решение 7
Очистите доступ для одного пользователя в свойствах базы данных.
- Откройте Среда SQL Server Management Studio.
- Разверните узел Базы данных.
- Щелкните правой кнопкой мыши базу данных приложения Microsoft Dynamics SL и выберите Свойства.
- На странице Параметры убедитесь, что в качестве значения Ограничить доступ не выбран один пользователь.
Решение 8
Проверьте версию файла Capicom.dll и зарегистрируйте файл вручную.
Найдите файл Capicom.dll по следующим путям:
32-разрядная операционная система:
<SystemDrive>:\Windows\System32
64-разрядная операционная система:
<SystemDrive>:\Windows\SysWOW64
Примечание.
<SystemDrive> представляет диск, на котором установлена Microsoft Windows.
Убедитесь, что версия файла Capicom.dll — 2.1.0.1. Для этого выполните следующие действия:
- Щелкните файл Capicom.dll правой кнопкой мыши и выберите Пункт Свойства. Откроется диалоговое окно Свойстваcapicom.dll .
- На вкладке Версия убедитесь, что для параметра Версия файла задано значение 2.1.0.1.
- Нажмите ОК.
Щелкните правой кнопкой мыши файл Capicom.dll и выберите команду Открыть с помощью.
В диалоговом окне Windows выберите Выберите программу из списка, а затем нажмите кнопку ОК.
В диалоговом окне Открыть с помощью выберите Обзор.
Найдите и откройте следующую папку:
32-разрядная операционная система:
<SystemDrive>:\Windows\System32
64-разрядная операционная система:<SystemDrive>:\Windows\SysWOW64
Дважды щелкните файл Regsvr32.exe и нажмите кнопку ОК.
Нажмите кнопку ОК , когда появится следующее сообщение:
RegSvr32 — DllRegisterServer в SystemDrive :\windows\system32\capicom.dll выполнено успешно.
Решение 9
Откройте порт 1433 на SQL Server. Для этого выполните следующие действия:
- В панель управления выберите Брандмауэр Windows.
- На вкладке Исключения выберите Добавить порт.
- Укажите следующие параметры:
- Имя: 1433
- Номер порта: 1433
- Выберите пункт TCP.
- Нажмите кнопку ОК два раза.
Решение 10
Удалите идентификатор пользователя, созданный в SQL, а затем свяжите идентификатор пользователя Microsoft Dynamics SL с идентификатором пользователя Windows. Для этого выполните следующие действия:
Удалите идентификатор пользователя, созданный в SQL:
- В SQL Server Management Studio разверните узлы Базы данных, Системная база данных Microsoft Dynamics SL, Безопасность, а затем — Пользователи.
- Щелкните правой кнопкой мыши созданный идентификатор пользователя и выберите удалить.
- В диалоговом окне Удаление объекта нажмите кнопку ОК.
Свяжите идентификатор пользователя Microsoft Dynamics SL с идентификатором пользователя Windows:
Войдите в Microsoft Dynamics SL, используя идентификатор пользователя SYSADMIN.
В области навигации выберите Администрирование.
В области Сведения об администрировании в разделе Безопасность выберите Обслуживание пользователей.
В поле Идентификатор пользователя введите идентификатор пользователя, который не может войти в Microsoft Dynamics SL.
На вкладке Сведения в поле Имя пользователя Windows введите <Имя_>\<>пользователя домена.
Примечание.
Замените <заполнитель DomainName> доменным именем Windows, а заполнитель UserName> — <идентификатором пользователя Windows.
Нажмите кнопку Сохранить, а затем закройте экран Обслуживание пользователей (95.260.00).
Решение 11
Синхронизация владения и безопасности в базах данных Microsoft Dynamics SL. Для этого выполните следующие действия:
- Откройте экран Обслуживание базы данных (98.290.00).
- В поле Имя SQL Server назначения введите имя сервера.
- В поле Идентификатор входа введите sa.
- В поле Пароль введите пароль для пользователя SYSADMIN.
- Нажмите Подключиться.
- На вкладке Обновление базы данных в поле Имя системной базы данных выберите системную базу данных.
- В столбце Базы данных выберите базу данных приложения.
- В области Сценарии обновления выберите Синхронизировать все права владения & безопасность.
- Выберите Обновить базу данных.
- Закройте экран Обслуживание базы данных (98.290.00).
Решение 12
Удалите и считывает всех пользователей в группу АДМИНИСТРАТОРЫ в Microsoft Dynamics SL. Для этого выполните следующие действия:
Примечание.
Это решение предполагает, что одна или несколько учетных записей пользователя Microsoft Dynamics SL с правами администратора могут войти в Microsoft Dynamics SL.
- Войдите в домен с помощью учетной записи пользователя домена Windows, связанной с учетной записью пользователя Microsoft Dynamics SL с административными разрешениями.
- Выберите Администрирование.
- В области System Manager выберите Групповое обслуживание в разделе Безопасность.
- В поле Идентификатор группы введите АДМИНИСТРАТОРЫ и нажмите клавишу TAB.
-
Примечание.
Идентификаторы пользователей, перечисленные в области Сведения .
- Удалите всех пользователей из списка, за исключением идентификатора пользователя, в который вы вошли в систему.
- Нажмите кнопку Сохранить.
- Добавьте идентификаторы пользователей и нажмите кнопку Сохранить.
- Закройте экран Обслуживание группы (95.280.00).
Резолюция 13
Откройте номера портов 1433 и 1434. Для этого выполните следующие действия:
- На компьютере под управлением SQL Server нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Брандмауэр Windows в режиме повышенной безопасности.
- Щелкните правой кнопкой мыши Правила для входящего трафика, выберите Создать правило, а затем нажмите кнопку Далее.
- Выберите Все программы, а затем нажмите кнопку Далее.
- Нажмите кнопку Далее, щелкните, чтобы снять флажок Общедоступный проверка, а затем нажмите кнопку Далее.
- Введите SQL SERVER в поле Имя и нажмите кнопку Готово.
- В области Правила для входящего трафика щелкните правой кнопкой мыши SQL SERVER и выберите пункт Свойства.
- На вкладке Протоколы и порты выберите TCP в поле Тип протокола .
- В поле Локальный порт выберите Конкретные порты и введите 1433.
- Нажмите кнопку Применить, а затем нажмите кнопку ОК.
- Щелкните правой кнопкой мыши Правила для входящего трафика, выберите Создать правило, а затем — Далее.
- Выберите Все программы, а затем нажмите кнопку Далее.
- Нажмите кнопку Далее, щелкните, чтобы снять флажок Общедоступный проверка, а затем нажмите кнопку Далее.
- В поле Имя введите SQL SERVER BROWSER и нажмите кнопку Готово.
- В области Правила для входящего трафика щелкните правой кнопкой мыши браузер SQL SERVER и выберите пункт Свойства.
- На вкладке Протоколы и порты выберите UDP в поле Тип протокола .
- В поле Локальный порт выберите Конкретные порты и введите 1434.
- Нажмите кнопку Применить, а затем нажмите кнопку ОК , чтобы закрыть диалоговое окно Свойства БРАУЗЕРА SQL SERVER .
Решение 14
Выберите соответствующее имя системной базы данных в поле Имя базы данных и нажмите кнопку ОК.
Решение 15
Добавьте псевдоним обратно на сервер SQL Server в служебной программе клиентской сети SQL Server:
На 32-разрядном компьютере:
- Перейти к запуску>Тип выполнения>cliconfg
- Убедитесь, что включены именованные каналы и TCP/IP.
- На вкладке Псевдоним выберите Добавить.
- В поле Псевдоним сервера введите имя сервера точно так же, как вы вводите его на экране Поиск баз данных .
- Оставьте все остальные значения по умолчанию. (По умолчанию должен использоваться псевдоним именованных каналов)
- Нажмите ОК.
- Нажмите Применить.
- Нажмите ОК.
На 64-разрядном компьютере:
- Перейдите на сайт
C:\Windows\SysWOW64
- Запуск cliconfg.exe, расположенных в этой папке
- Убедитесь, что включены именованные каналы и TCP/IP.
- На вкладке Псевдоним выберите Добавить.
- В поле Псевдоним сервера введите имя сервера точно так же, как вы вводите его на экране Поиск баз данных .
- Оставьте все остальные значения по умолчанию. (По умолчанию должен использоваться псевдоним именованных каналов)
- Нажмите ОК.
- Нажмите Применить.
- Нажмите ОК.
Дополнительные сведения
Чтобы исключить проблемы с сетью, создайте тестовое подключение ODBC на компьютере, где появляется сообщение об ошибке. Для этого выполните следующие действия:
- В панель управления выберите Администрирование, а затем — Источники данных (ODBC).
- На вкладке User DSN нажмите кнопку Добавить, прокрутите список до конца, выберите SQL Server и нажмите кнопку Готово.
- Укажите следующие параметры:
- Имя: TEST
- Описание: TEST
- Сервер: введите SQL Server, к которому требуется подключиться.
- Нажмите кнопку Далее.
- Выберите проверка подлинности Windows или Проверка подлинности SQL и введите имя пользователя и пароль sa, если это необходимо.
- Нажмите кнопку Далее два раза, нажмите кнопку Готово, а затем — Тест источника данных.