Здесь интересная ситуация.
У нас есть сервер базы данных, используемый только для тестирования, куда кто-то проник и удалил учетные данные администратора.
Поскольку это тестовый сервер, других учетных записей уровня администратора на нем не было.
Есть ли способ снова получить доступ к серверу без переустановки SQL Server?
Нам не нужны данные в базах данных, они удаляются и создаются заново каждый раз при запуске тестов.
решение1
Самым простым решением может быть переустановка SQL Server. Не забывайте, что вам нужно учитывать время (и, следовательно, деньги), которые потребуются для поиска и пробы альтернативных решений, которые могут сработать, а могут и нет.
Хотя первым делом я бы попробовал «ремонтную» установку, чтобы посмотреть, покрывает ли она такую возможность.
решение2
Я понимаю, что это немного устарело, но сегодня я нашел обходной путь, который сработал для меня, и подумал, что он может быть полезен и другим.
Если ваша учетная запись NT Authority/System имеет права администратора, вы можете использовать следующий трюк, чтобы войти в систему как учетная запись NT Authority/System и создать новый вход/сбросить учетные данные для других входов.
Шаги:
- Загрузить PsExec:http://technet.microsoft.com/en-us/sysinternals/bb897553. Это позволит вам запустить программу от имени системного пользователя.
- Извлеките ZIP-файл и скопируйте все в папку с исполняемым файлом.
- Откройте командную строку и введите следующее: psexec /s /i "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"
Это должно открыть SQL Server Management Studio в качестве имени входа NT Authority/System.
Это также показывает, почему, вероятно, будет хорошей идеей ограничить доступ к учетной записи NT Authority/System, если у вас нет других веских причин.
решение3
Лучшим решением было бы использовать выделенное административное соединение (DAC), которое позволит любому администратору машины Windows получить доступ к экземпляру SQL. Если только у вас нет абсолютно никакой возможности войти в систему как встроенная учетная запись администратора Windows или любая учетная запись, которая является членом локальной группы администраторов, вам, вероятно, придется полностью переустановить и Windows, и SQL, чтобы снова получить доступ, если только учетная запись sa (или какая-либо другая учетная запись SQL, которой была назначена фиксированная роль sysadmin) не была доступна. Хотя учетная запись SQL не поможет вам с отсутствием доступа администратора к самой машине Windows... если вы это имели в виду.