вторник, 15 октября 2013 г.

Ошибка установки SQL-сервера '' is not a valid login or you do not have permission.

Сегодня была обнаружена неприятная ошибка, которая может возникнуть при установке SQL Express 2008 R2. Именно эта редакция распространяется с ЛЭРС УЧЁТ.

Симптомы ошибки следующие. Если установка SQL сервера будет запущена из программы установки ЛЭРС УЧЁТ, то после того как она завершится система сообщит, что SQL-сервер установить не удалось. Однако же после перезагрузки к серверу можно будет подключиться, хотя прав на доступ к базам данных не будет, поэтому никаких дальнейших действий выполнить не получится.


Если же запустить установку SQL сервера вручную, будет выдано такое сообщение об ошибке:

В журнале установки сервера будет сохранена следующая информация:
Final result: Ошибка установки SQL Server. Чтобы продолжить, определите причину сбоя, устраните проблему, удалите SQL Server, а затем снова запустите программу установки SQL Server.
Exit code (Decimal): -1706970590
Exit facility code: 577
Exit error code: 45602
Exit message: Ошибка установки SQL Server. Чтобы продолжить, определите причину сбоя, устраните проблему, удалите SQL Server, а затем снова запустите программу установки SQL Server.
Start time: 2013-10-15 09:18:58
End time: 2013-10-15 09:39:48
Requested action: Install
Log with failure: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20131015_091726\Detail.txt
Exception help link: http%3a%2f%2fgo.microsoft.com%2ffwlink%3fLinkId%3d20476%26ProdName%3dMicrosoft%2bSQL%2bServer%26EvtSrc%3dsetup.rll%26EvtID%3d50000%26ProdVer%3d10.50.4000.0%26EvtType%3d0x9A41B222

Как удалось выяснить ошибка возникает в случае если на компьютере присутствует учётная запись администратора, имя которой совпадает с именем компьютера. В нашем случае учётная запись называлась LERS\Lers. Программа установки SQL Server добавляет всех локальных администраторов компьютера в качестве системных администраторов сервера баз данных. Для каждого администратора вызывается функция SUSER_NAME, которая преобразует его идентификатор безопасности в полное имя пользоваталя. В случае если имя администратора совпадает с именем компьютера возвращается пустое значение, которое и приводит к этой ошибке.

Microsoft отказывается исправлять эту ошибку, мотивируя это тем, что создавать пользователя с таким же именем как имя компьютера нельзя, т.к. некоторые программы, использующие NetBIOS, могут работать неправильно. Несмотря на это, последние версии Windows позволяют создавать таких пользователей, в отличие от Windows XP. Подробнее смотрите ссылки:

http://connect.microsoft.com/SQLServer/feedback/details/375231/installing-sql-server-2008-with-user-name-that-equals-computer-name-fails

http://support.microsoft.com/kb/310845/en-us

Для обхода ошибки рекомендуем следующее. Полностью удалите SQL-сервер, если он уже установлен. Переименуйте учётную запись администратора, имя которой совпадает с именем компьютера. После этого вновь запустите установку ЛЭРС УЧЁТ. Теперь SQL-сервер будет установлен без ошибок.

Комментариев нет:

Отправить комментарий