Назад | Перейти на главную страницу

Как восстановить пароль пользователя MSSQL?

Мне было поручено перевести нас от системы десятилетней давности (Access '97) к совершенно новой системе, использующей MS SQL Express 2008 в качестве бэкэнда. Так здорово, я знаю, что могу подключиться к базе данных (успешно с пользователем только для чтения), единственная проблема в том ... У меня нет пользователя в базе данных с доступом на запись, и у нас нет доступа к источнику в приложение, чтобы узнать, какой пароль использует приложение (хотя имя пользователя у меня есть).

Итак, как я вижу, у меня есть два варианта:

Являются ли какие-либо из этих вариантов жизнеспособными и / или возможными, и как бы я поступил с одним или обоими из них, учитывая тот факт, что я сижу перед компьютером с полным доступом для любых действий.

Обычно это делается путем запуска SQL Server в однопользовательском режиме и вставки нового пользователя с правами администратора sql, который затем можно использовать для получения полного доступа. Я бы не стал менять пароль sa, пока вы не узнаете, использует его приложение или нет.

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

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn> Sqlservr.exe -s SQLEXPRESS -m
C:\Program Files\Microsoft SQL Server\90\Tools\Binn> sqlcmd -S.\SQLExpress

Изменить (в случае гниения ссылок): после открытия окна запроса в однопользовательском режиме вы сможете добавить логин администратора сервера, который вы можете использовать:

CREATE LOGIN MYADMIN WITH PASSWORD='myadminpassword'
SP_ADDSRVROLEMEMBER 'MYADMIN', 'SYSADMIN'

В вашем случае логины SQL включены, иначе вы не сможете использовать логин только для чтения, но для других им может потребоваться Вход в систему SQL включен проверив или отредактировав реестр (заменив MSSQL.1 тем экземпляром, который вам нужен, но, скорее всего, это .1). поместите это в файл .reg и запустите (или используйте RegEdit):

-------------COPY BELOW---------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer]
"LoginMode"=dword:00000002
-------------COPY TILL THIS---------------------------------

И, наконец, если ваш логин sa отключен, и вы хочу включить это (но не делайте этого, если ваше приложение использует sa, иначе вы можете все сломать):

ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO

Я не уверен на 100%, о чем вы спрашиваете. Похоже, ваше приложение использует жестко запрограммированные имя пользователя и пароль?!?!?

Если ваша проблема заключается в простом сбросе учетной записи sa для SQL Server, вот как вы можете сбросить пароль sa (при условии, что у вас есть физический доступ к ящику).

  1. Войдите на физический компьютер как администратор.

  2. Запустите SQL Server Enterprise Manager.

  3. Щелкните правой кнопкой мыши имя сервера и выберите «Изменить свойства регистрации SQL Server».

  4. Выберите «Использовать проверку подлинности Windows» и нажмите «ОК».

  5. Разверните сервер, разверните Безопасность, затем нажмите Логины.

  6. Дважды щелкните логин sa и укажите новый пароль на вкладке «Общие».