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

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

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

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

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

решение1

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

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

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

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

решение2

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

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

решение3

Обновите разрешения на запуск службы экземпляра SQL Server, включив в них «-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для получения подробной информации.

Связанный контент