2009-10-06 3 views
11

Это довольно неловко, но я случайно удалил свою учетную запись Windows из списка пользователей SQL Server 2008, и я не могу на всю жизнь понять, как заново добавить себя теперь, когда у меня нет привилегий для входа.SQL Server 2008 - добавление учетной записи Windows после удаления пользователя по умолчанию

Сервер работает на моей машине, и только другие пользователи Windows с доступом - IUSR, NETWORK SERVICE и SYSTEM. Есть ли что-нибудь, что я могу сделать, кроме повторной установки?

ответ

25

Я также недавно удалил свою учетную запись Windows с моего локального сервера развития 2008 года. Я смог использовать однопользовательский режим SQL Server, чтобы воссоздать мой логин и добавить его в роль sysadmin. Прошло всего несколько минут, и я не должен был признавать свою ужасную ошибку для всех.

Из MSDN:

Запуск SQL Server в однопользовательском режиме позволяет любому члену локальной группы администраторов компьютера для подключения к экземпляру SQL сервера в качестве члена роли сервера сисадмина фиксированы.

Вот как я восстановил себя:

  1. Выход из SSMS
  2. Stop любой SQL услуги, связанные с. Мне пришлось прекратить Службы Reporting Services. Другие службы SQL, такие как SQL Agent, также будут использовать ваше одно ценное соединение.
  3. Остановить службу SQL
  4. Запустите службу SQL с дополнительным параметром -m. Это превратит SQL в однопользовательский режим. Это означает, что SQL будет принимать только одно соединение.
  5. Используйте sqlcmd для подключения к вашему серверу с опцией надежного подключения -E. SQL будет принимать вас в роли sysadmin, если вы местный администратор.
  6. В интерактивном сеансе создайте свой логин и добавьте в роль 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 
    
  7. Остановите службу SQL, удалите параметр -m и перезапустите службу. Теперь вы можете вернуться в SSMS и продолжать использовать сервер в обычном режиме.

Если вы получаете сообщение:

Войти не удалось пользователя "домен \ имя пользователя. Причина: Сервер находится в режиме одиночного пользователя . В этот момент может подключиться только один администратор.

Тогда есть что-то, использующее ваше единственное соединение. Вам нужно будет найти эту службу или соединение и остановить ее, прежде чем вы сможете войти в систему. Проверьте агент SQL, службы SQL Reporting Services, службы анализа SQL и т. Д.

+1

Работал для меня, спасибо. Чтобы запустить и остановить службу из командной строки, я нашел это [справочное руководство по техническому обслуживанию] (http://technet.microsoft.com/en-us/magazine/dd421654.aspx) полезным. – tharen

+0

Обновлен до предпочитаемого ответа, поскольку ссылка в блоге в исходном ответе больше не доступна. –

5

К счастью, это было не так сложно исправить (не то, чтобы это было тяжело ...)!

This blog post объясняет шаги по запуску SQL Server в режиме одиночного пользователя, который (по некоторым причинам) позволил мне войти в качестве учетной записи администратора Windows, добавить учетную запись в список пользователей (с помощью CREATE LOGIN), включить пользователя SA и установите свой пароль на то, что я действительно знал, и, наконец, войдите в систему как SA и предоставите привилегии sysadmin учетной записи Windows.

Редактировать 07/05/13:Try this link instead.

+0

Эта ссылка устарела! – user287745

0

Часто SQL Server установлен так, что любой локальный администратор является SQL Сервер sysadmin.

Если это ваш случай, вы можете запустить Management Studio в качестве администратора, а затем добавить любого другого пользователя Windows в качестве входа в раздел «Безопасность».

Это решение сработало для меня.

Смежные вопросы