У меня запущен экземпляр SQL Server 2008. К сожалению, во время тестирования я отменил выбор прав sysadmin для своего логина и теперь не могу его прочитать (потому что у меня нет прав sysadmin).
Для этого экземпляра нет других учетных записей сисадмина, кроме SA.
Я был настроен только для проверки подлинности Windows, поэтому я взломал LoginMode в реестре до 2, чтобы я мог войти в систему как SA, используя Sql Authentication. Это действительно устанавливает режим входа в Mixed, однако пользователь SA по умолчанию отключен, и я не могу включить его, потому что у меня нет прав sysadmin.
Как включить вход в систему SA, чтобы я мог войти в систему и переназначить системного администратора на мою обычную учетную запись? Для этого тоже есть параметр реестра или он хранится в базе данных master?
Существует реальный бэкдор в SQL Server, который не требует перезапуска и / или перезагрузки чего-либо в однопользовательском режиме. Я сделал это в системах, где у меня не было доступа, но мне нужно было что-то проверить.
Загрузите инструменты PSexec отсюда . Поместите это на сервер и затем в командной строке выполните эту команду:,
psexec -i -s SSMS.exe
или sqlwb.exeЭто откроет SSMS как системную учетную запись, которая имеет доступ sysadmin к экземпляру SQL Server. Это делается во время установки SQL Server, однако я слышал, что это не будет так с SQL 2012.
источник
SQL Server 2008 отличается от SQL Server 2005 тем, что локальные администраторы больше не наследуют фиксированную роль сервера sysadmin.
Когда SQL Server 2008 установлен, он предлагает указать учетную запись, которая будет добавлена в роль системного администратора. Однако если вы получите коробку после установки программного обеспечения, это не очень вам поможет.
К счастью, Microsoft сохранила функциональность 2005 года, когда SQL Server работает в однопользовательском режиме. Вот что вы делаете:
источник
Это отличный вопрос, и кто-то окажется в такой ситуации и нуждается в спасении.
Весь кредит идет в codykonior
Нижеприведенный скрипт будет перебирать службы SQL Server и добавлять вас к роли системного администратора, где бы вы ни отсутствовали:
источник
Вы по-прежнему можете создать логин с доступом «sysadmin». Спасибо основному инженеру данных из Microsoft (Салим Хакани), который создал приведенные ниже советы и подсказки по SQL Server.
Я обнаружил это, когда застрял в аналогичном состоянии, когда забыл пароль sa для моей тестовой машины.
Ссылка: https://blogs.technet.microsoft.com/sqlman/2011/06/14/tips-tricks-you-have-lost-access-to-sql-server-now-what/
Вот шаги, которые вам нужно будет выполнить:
В командной строке введите: SQLServr.Exe –m (или SQLServr.exe –f).
Примечание. Если папка Binn не указана в вашем пути к среде, вам нужно перейти к папке Binn.
(Обычно папка Binn находится по адресу: C: \ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ Binn)
SQLCMD –S
Теперь вы войдете в SQL Server как администратор.
Чтобы создать новый логин и добавить этот логин к роли сервера SYSADMIN:
1> СОЗДАТЬ ЛОГИН '' с ПАРОЛЕМ = ''
2> идти
1> SP_ADDSRVROLEMEMBER '', 'SYSADMIN'
2> идут
Чтобы добавить существующий логин в роль сервера SYSADMIN, выполните следующее:
1> SP_ADDSRVROLEMEMBER '', 'SYSADMIN'
Вышеуказанная операция позаботится о предоставлении привилегий SYSADMIN существующему логину или новому логину.
источник
Вы можете сделать следующее:
1) Создать учетную запись пользователя Windows с правами администратора.
2) Войдите в Windows с новой учетной записью администратора.
3) Откройте Sql Server Mangement Studio, используя проверку подлинности Windows.
4) Теперь вы вошли в систему SQL Server как sysadmin, поэтому Вы можете создать новые учетные записи или обновить пользователя SA
источник