Поиск и устранение неисправностей в работе серверов баз данных

Ниже приводятся рекомендуемые решения для различных проблем, с которыми вы можете столкнуться при работе с серверами баз данных или базами геоданных на серверах баз данных.

Ошибка. Невозможно подключиться к этому серверу данных...SQL Server не существует или доступ запрещен (Error: Cannot connect to this Data Server...SQL Server does not exist or access denied).

Возможные причины получения сообщения об ошибке:

  • Если экземпляр SQL Server Express не был запущен, удаленный клиент не сможет его обнаружить.
  • Если учетная запись пользователя никогда не использовалась на сервере баз данных, или учетная запись была удалена с сервера баз данных, вы не сможете выполнять запросы или подключаться к нему.
  • Удаленные клиенты должны каким-либо образом связываться с экземпляром SQL Server Express. Если сетевой протокол не настроен, то такой метод связи тоже будет не настроен, и не существует способа выполнить подключение к экземпляру сервера по сети.
  • Сервис SQL Server Browser предоставляет информацию об экземплярах SQL Server, установленных на компьютере, который получает запрос от клиента SQL Server. Если сервис SQL Browser выключен, клиент не получит информацию об именах экземпляров и номера портов, которые они используют, то есть не сможет обнаружить экземпляр.

Решение:

Прежде всего, убедитесь, что сервер баз данных, к которому вы пытаетесь подключиться, работает. Если это так, убедитесь, что у вас достаточно прав для удаленного доступа к серверу баз данных. Если сервер баз данных запущен, и у вас есть права на подключение и выполнение запросов к серверу, сетевые протоколы, возможно, могут быть не включены на сервере баз данных. Чтобы повторно включить сетевые протоколы, выполните следующее:

  1. Откройте приложение Microsoft SQL Server Configuration Manager. Это можно сделать, последовательно щелкнув Пуск > Все программы > Microsoft SQL Server > Configuration Tools (Start > All Programs > Microsoft SQL Server > Configuration Tools).
  2. Разверните SQL Server Network Configuration в дереве и щелкните на протоколах, которые нужны для работы экземпляра SQL Server.
  3. Щелкните правой кнопкой мыши на протоколе TCP/IP и щелкните Включить (Enable).

Вы получите сообщение-предупреждение следующего содержания:

Any changes made will be saved; however, they will not take effect until the service is stopped and restarted.

Остановите и повторно запустите сервис. Если сетевые протоколы активированы, но вы по-прежнему не можете подключиться к серверу баз данных из удаленного клиента, возможно, не работает служба SQL Server Browser. Чтобы запустить службу SQL Server Browser:

  1. Откройте приложение Microsoft SQL Server Configuration Manager.
  2. Щелкните значок SQL Server, чтобы просмотреть состояние службы SQL Server Browser.
  3. Если служба SQL Server Browser приостановлена, щелкните на ней правой кнопкой мыши и выберите пункт Возобновить (Resume). Если служба SQL Server Browser остановлена, щелкните на ней правой кнопкой мыши и выберите пункт Запустить (Start).

Если все команды контекстного меню, кроме команд Свойства (Properties) и Справка (Help), неактивны при щелчке правой кнопкой мыши на службе SQL Server Browser, для режима запуска службы SQL Server Browser было указано Выключен (Disabled). Чтобы изменить эти настройки, сделайте следующее:

  1. Щелкните правой кнопкой мыши на службе SQL Server Browser и выберите Свойства (Properties).
  2. Перейдите на закладку Служба (Service).
  3. Щелкните Режим запуска (Start Mode).
  4. В раскрывающемся списке выберите один из пунктов: Автоматически (Automatic) или Вручную (Manual). Настройка режима запуска – Автоматически (Automatic) означает, что сервис SQL Server Browser автоматически будет запускаться при перезапуске компьютера.
  5. Нажмите ОК.

Теперь при щелчке правой кнопкой мыши на службе SQL Server Browser значение Запустить (Start) должно стать доступным для выбора.

Ошибка. Не удается генерировать контекст SSPI (Cannot Generate SSPI Context)

Возможные причины получения сообщения об ошибке:

Эта ошибка чаще всего возникает, когда вы работаете на ноутбуке, и авторизуетесь с использованием учетных данных домена, но в действительности не подключены к вашему домену. Это может происходить, когда вы выполняете вход на стороне клиента (а не в вашей сети) или используете ваш ноутбук, когда не подключены к сети, например, в полевых условиях. Это связано с особенностями протокола TCP/IP и авторизацией в операционной системе Windows. Вы можете также посетить веб-сайт Microsoft для просмотра статьи базы знаний о решении проблем при получении сообщения об ошибке 'Cannot generate SSPI context'.

Решение:

Произведите подключение к серверу баз данных на локальном компьютере (с помощью команды «Добавить сервер баз данных » [Add Database Server]) с помощью протокола TCP/IP на адрес 127.0.0.1 вместо имени домена; например: 127.0.0.1\sqlexpress.

Это позволит продолжить работу, так как сервер баз данных (экземпляр SQL Server Express) установлен на вашей локальной машине.

Ошибка. Не удалось подключиться к базе данных. Базовая ошибка СУБД (Error: Failed to connect to database Underlying DBMS error) (Microsoft OLE DB Provider for SQL Server. Вход не выполнен для пользователя '<имя пользователя >' (Login failed for user '<username>'). Пользователь не связан с доверенным подключением SQL Server (The user is not associated with a trusted SQL Server connection)/

Возможные причины получения сообщения об ошибке:

Когда в системных переменных среды (System Environment Variables) заданы переменные среды SDEUSER или SDEPASSWORD, при подключении к базе геоданных они имеют приоритет над текущей учетной записью Windows. Не задавайте эти переменные, если вы собираетесь подключаться с этого компьютера к базе геоданных на сервере баз данных или к многопользовательской базе геоданных, используя аутентификацию средствами операционной системы.

Решение:

Убедитесь, что переменные среды SDEUSER или SDEPASSWORD не были созданы на вашей клиентской машине.

Ошибка. Невозможно добавить класс пространственных объектов. <имя класса объектов > находится в режиме "только загрузка" и не может быть добавлен в качестве слоя в таком состоянии (<feature class name> is in load-only mode and cannot be added as a layer in this state).

Возможные причины получения сообщения об ошибке:

Если размер ячейки пространственного индекса для набора данных равен 0, его импорт в базу геоданных окончится неудачей, и набор данных может остаться в состоянии только для загрузки (load-only). Для возврата класса пространственных объектов в обычный режим ввода/вывода (I/O) и продолжения работы с ним можно пересчитать пространственный индекс или сбросить его и создать заново.

Решение:

Пересчитайте или создайте заново пространственный индекс класса пространственных объектов.

  1. В дереве Каталога щелкните правой кнопкой мыши на классе объектов, который находится в режиме только для загрузки, выберите команду Свойства (Properties), затем перейдите на закладку Индексы (Indexes) в диалоговом окне Свойства класса пространственных объектов (Feature Class Properties).
  2. Если в вашем классе объектов используется тип хранения геометрии SQL Server, вы можете пересчитать индекс. В разделе Пространственный индекс (Spatial Index) нажмите Пересчитать (Recalculate). Если в вашем классе объектов используется бинарный тип хранения геометрии или тип SQL Server geography, создайте пространственный индекс заново. Нажмите Удалить (Delete) и затем Создать (Create) в разделе Пространственный индекс, чтобы заново создать пространственный индекс.
  3. Нажмите OK, чтобы закрыть диалоговое окно Свойства класса объектов (Feature Class Properties).

Ошибка: Недопустимое имя для входа пользователя (Error: Bad login user)

Возможные причины получения сообщения об ошибке:

Наиболее вероятно, что вы попытались подключиться к базе геоданных на сервере баз данных с помощью аутентификации в базе данных при помощи имени пользователя и пароля.

Решение:

Для подключений к базам геоданных на серверах баз данных используются только учетные записи с аутентификацией средствами операционной системы Windows. Таким образом, выберите опцию аутентификации средствами операционной системы в диалоговом окне Подключение к базе пространственных данных (Spatial Database Connection) после того, как войдете в систему с нужным именем пользователя.

Ошибка: Не удалось выполнить вход (Error: Login failed). Имя пользователя относится к неподтвержденному домену и не может быть использовано для аутентификации средствами операционной системы (The login is from an untrusted domain and cannot be used with Windows authentication).

Возможные причины получения сообщения об ошибке:

  • Вы попытались подключиться к базе геоданных на удаленном сервере, когда вошли в систему с помощью локальной учетной записи.
  • Вы попытались подключиться к базе геоданных на сервере баз данных с доменной учетной записью, которая не была добавлена на сервере баз данных.

Решение:

Авторизуйтесь на клиентском компьютере, используя доменную учетную запись, которую администратор сервера добавил на сервере баз данных.

Ошибка: Предпринята попытка подключения с использованием более старой версии клиента связи с SQL Server, которая несовместима с сервером баз данных SQL Server (Error: Connection was attempted with an older version of SQL Server client communications software that is not compatible with the SQL Server database server).

Причина получения сообщения об ошибке:

На клиентском компьютере, с которого выполняется подключение к базе геоданных, не установлена поддерживаемая версия Microsoft SQL Native Client.

Решение:

Установите на клиентском компьютере версию приложения SQL Native Client, совместимую с используемой версией SQL Server Express.

5/10/2014