Назад | Перейти на главную страницу

Добавить текущего администратора в SQL Server Express 2008

Мне удалось (в «экспериментах») удалить обоих пользователей Windows из экземпляра SQL Express. Теперь я вошел в систему как администратор Windows и повторно создал соответствующий вход SQL, но я не могу назначить права системного администратора. Я получаю сообщение об ошибке:

У пользователя нет разрешения на выполнение этого действия. (Microsoft SQL Server, ошибка: 15247)

Если администратор не может этого сделать, стоит ли мне искать маленькое животное для жертвоприношения?

Возможно, ваша учетная запись администратора Windows не имеет прав администратора - это зависит от того, что вы настроили. Вам нужно будет войти в систему с учетной записью, у которой есть права, или войти в систему как пользователь sa.

Если у вас не включена аутентификация SQL, вы можете активировать ее с помощью настройки реестра. Думаю, это правильный ключ:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode

Он должен быть установлен в смешанный режим (2), но, конечно, вам все равно нужно знать, какой был пароль sa при установке экземпляра.

Обновите разрешения запуска службы экземпляра SQL Server, включив в него '-m' или -m «Microsoft SQL Server Management Studio - Query», если вы предпочитаете использовать SSMS вместо sqlcmd / osql.

Затем используйте эту команду для подключения через командную строку:

sqlcmd -E -S HOSTNAME\INSTANCENAME

Или подключитесь через SSMS с помощью:

\\.\pipe\hostname\instancename\sql\query

И используйте это, чтобы добавить свой логин и роль:

CREATE LOGIN [domain\username] FROM WINDOWS;
GO
EXEC sp_addsrvrolemember 'domain\username', 'sysadmin';
GO

После того, как вы можете удалить параметры '-m' в службе и запустить ее в обычном режиме.

Видеть http://msdn.microsoft.com/en-us/library/ms188236.aspx для подробностей.

На CodePlex есть сценарий, который автоматизирует восстановление после потери прав системного администратора на локальный экземпляр SQL Server, при условии, что у вас есть доступ к учетной записи администратора Windows:

http://code.msdn.microsoft.com/addselftosqlsysadmin/