Я также недавно удалил свою учетную запись Windows с моего локального сервера разработки 2008. Мне удалось использовать однопользовательский режим сервера SQL, чтобы заново создать логин и добавить его в роль системного администратора. Это заняло всего несколько минут, и мне не пришлось никому признавать свою ужасную ошибку.
Из MSDN:
Запуск SQL Server в однопользовательском режиме позволяет любому члену
локальная группа администраторов компьютера для подключения к экземпляру SQL
Сервер как член фиксированной серверной роли sysadmin.
Вот как я восстановил себя:
- Выход из SSMS
- Остановите все службы, связанные с SQL. Я должен был остановить Службы отчетности. Другие службы SQL, такие как агент SQL, также будут использовать одно ценное соединение.
- Остановить службу SQL
- Запустить службу SQL с дополнительным параметром
-m
. Это переведет SQL в однопользовательский режим. Это означает, что SQL будет принимать только одно соединение.
- Используйте
sqlcmd
для подключения к вашему серверу с опцией -E
доверенное соединение. SQL примет вас в роль sysadmin
, если вы являетесь локальным администратором.
В интерактивном сеансе создайте свой логин и добавьте к роли sysadmins
.
USE master
GO
CREATE LOGIN [domain\username] FROM WINDOWS WITH DEFAULT_DATABASE=[Master]
GO
EXEC sp_addsrvrolemember @loginame=N'domain\username', @rolename=N'sysadmin'
GO
- Остановите службу SQL, удалите параметр
-m
и перезапустите службу. Теперь вы сможете вернуться в SSMS и продолжить нормальное использование сервера.
Если вы получите сообщение:
Ошибка входа для пользователя «домен \ имя пользователя». Причина: сервер однопользовательский
Режим. Только один администратор может подключиться в это время.
Тогда есть что-то, использующее ваше единственное соединение. Вам потребуется найти эту службу или соединение и остановить его, прежде чем вы сможете войти в систему. Проверьте агент SQL, службы отчетов SQL, службы анализа SQL и т. Д.