Как я могу добавить себя к аутентификации Windows моего локального сервера sql?

8

Недавно он переустановил свой ноутбук с 64-битными окнами. Он установил для меня Sql Server dev edition и установил его с помощью имени пользователя и пароля. Я вошел в систему и попытался изменить Sql Server на проверку подлинности Windows, перезапустил sql server, и теперь он не позволяет войти в систему с моей учетной записью домена.

Я попытался добавить себя в группы SQLServerSQLAgentUser и SQLServerMSSQLUser в моей локальной системе, но Sql Server продолжает повторять, что моя учетная запись домена не авторизована. Моя учетная запись является локальным системным администратором.

Как я могу заставить Sql Server позволить мне войти в систему?

KallDrexx
источник
Вы должны опубликовать точное сообщение об ошибке.
Джастин Хельгерсон
Сообщение об ошибке просто «Не удалось
войти в
Какую версию SQL Server вы используете?
Джастин Хелгерсон
SQL Server 2008 R2
KallDrexx
1
Я спросил, потому что до 2008 года у меня была учетная запись локального администратора по умолчанию. Но это поведение изменилось в 2008 году ( msdn.microsoft.com/en-us/library/cc280562.aspx ).
Джастин Хельгерсон

Ответы:

2

К сожалению, я думаю, что вы либо должны:

  1. Попросите вашего локального и любимого ИТ-друга войти в базу данных и правильно настроить учетную запись.
  2. Переустановите SQL Server под своей учетной записью, чтобы автоматически получать разрешения на вход в систему.

Если у вас нет доступа к базе данных, вы не сможете обновить систему безопасности, чтобы предоставить себе разрешения.

Чтобы войти на SQL Server (отдельные разрешения для базы данных могут все еще отсутствовать), необходимо создать безопасный вход с Windows authenticationвыбранным, а затем имя учетной записи домена - Login name.

введите описание изображения здесь

Джастин Хелгерсон
источник
Я понял, что это так. Я пошел в ИТ и получил локального администратора, с которым он установил сервер sql, сбросил пароль sa. Я думал, что, так как я был местным администратором, я мог настроить это, но я не думаю. Не могу понять, как заставить его распознавать мою учетную запись домена для аутентификации Windows, хотя.
KallDrexx
Вы смотрите правильные логины сервера , а не базы данных? Я добавил картинку, чтобы показать, где вы должны настраивать логин сервера.
Джастин Хельгерсон
Ах, я смотрел на свойства сервера, а не на новый экран входа! Спасибо!
KallDrexx
18

А также, так как вы являетесь локальным администратором.

следуйте пошаговым инструкциям Microsoft: http://msdn.microsoft.com/en-us/library/dd207004.aspx или как показано ниже:

Остановите службу SQL Server.

Откройте командную строку от имени администратора и перейдите в папку binn SQL Server (по умолчанию C: \ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn)

запустить SQL Server в однопользовательском режиме, используя вывод консоли

sqlservr.exe -c -m

Затем запустите SSMS или SQLCMD от имени администратора, подключитесь и выполните следующий запрос:

СОЗДАТЬ ВХОД [ДОМЕН \ ПОЛЬЗОВАТЕЛЬ] ИЗ WINDOWS

ИДТИ

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN \ USER ', @rolename = N'sysadmin'

ИДТИ

Spörri
источник
1
Ответ Шона на меня не сработал. Этот сделал. +1
Антоний Кох
1
Правильный ответ !
AnujKu
8

Поскольку вы являетесь локальным администратором, вы можете использовать бэкдор к экземпляру SQL Server для получения доступа.

Загрузите psexec.exe (PSTools от TechNet здесь ).

Перейдите в командную строку и в каталог, куда вы распаковали файл (psexec.exe). Запустите команду psexec.exe -i -s ssms.exeили psexec.exe -i -s sqlwb.exeдля SQL 2005.

Это откроет SSMS как учетную запись NT AUTHORITY \ SYSTEM, которой по умолчанию предоставляются права SYSADMIN на экземпляр. После этого вы сможете добавить свой логин к экземпляру. Если это не работает, скорее всего, разрешение системной учетной записи было удалено.

ПРИМЕЧАНИЕ. Если вы работаете в Vista или Windows 7, вам, вероятно, потребуется запустить командную строку от имени администратора (щелкните правой кнопкой мыши «Запуск от имени администратора»).

Второе примечание: это не будет работать в SQL Server 2012 или более поздней версии, поскольку встроенная группа администраторов больше не добавляется в качестве системного администратора по умолчанию. Исключением может быть, если вы едите с апгрейдом на месте.


источник
2
Это плохая задница! Как никто до тебя не голосовал ?! @KallDrexx вы действительно должны пометить это как ответ.
Крис
@ Крис прав, это работает очень хорошо!
CLJ
NT AUTHORITY \ SYSTEM работает хорошо, если вы используете 2008R2 или ниже. Установка по умолчанию в 2012 году и выше не дает системной учетной записи доступ к ядру базы данных.
Spörri
0

Должны ли вы убедиться, что у вашей учетной записи Windows было достаточно прав для входа в систему, прежде чем вы изменили ее на Windows Auth?

Кафка
источник
да, я должен был, но я думал, что все местные администраторы будут иметь доступ, поэтому я не думал об этом.
KallDrexx