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

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

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

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

3 ответа

Решение

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

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

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

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

Обновите разрешения на запуск службы экземпляра 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/

Другие вопросы по тегам