Меняем пароль sa в sql
Всем привет, сегодня расскажу как изменить или сбросить пароль sa sql сервера. Напомню sa это логин пользователя в MS SQL, имеющий по умолчанию самые высокие привилегии, сама учетка локальная, зачастую даже выключенная, но тем не менее часто используемая. Может получиться такая ситуация, что вы забыли от нее пароль и тем самым потеряли доступ к базам данных, сегодня вы научитесь это обходить и восстанавливать доступ до ваших БД.
И так у вас есть MS SQL, как установить sql я уже рассказывал, кто не знает посмотрите. У вас задача сменить пароль для пользователя sa sql.
Пароль sa по умолчанию
Сменить пароль sa в sql через графический интерфейс
Начнемс, откройте пуск и идите по пути Все программы > Microsoft SQL Server 2012 R2 > Среда SQL Server Management Studio
Либо вы можете открыть командную строку и ввести там ssms.
Не важно какой способ вы выбрали эффект будет один и тот же у вас откроется SQL Server Management Studio. Но второй способ явно быстрее.
По умолчанию стоит проверка подлинности Windows, что означает, что вы сможете войти только с локальной учетной записью Windows или доменной, главное чтобы были права.
Как видите, учетная запись sa по умолчанию отключена, но это не помешает вам сменить ей пароль.
ms sql позволяет сбросить пароль sa через ее свойства, для этого щелкаете правым кликом и выбираете свойства из контекстного меню.
На вкладке общие вы увидите, поле для ввода нового пароля, единственное учтите, что если стоит галка Требовать использование политики паролей, вам придется придумать стойкий пароль отвечающий требованиям безопасности, а именно
- Должна быть большая буква в пароле
- Должна быть маленькая буква в пароле
- Должен быть спецсимвол или цифра в пароле
Если галку снять, то можно задать что угодно, я задал например от 1 до 6. Как видите сменить пароль sa в sql, проще паренной репы.
Единственное, если вы хотите использовать учетную запись sa, то ее нужно включить, для этого перейдите в пункт состояние и укажите Имя входя Включено.
Еще нюанс, вы же помните, что у вас стоит проверка подлинности Windows, а это значит, что нам это не подходит для sa. Щелкнем правым кликом по названию сервера, вверху иерархии и выберем свойства.
На вкладке безопасность, выберем вариант Проверка подлинности SQL Server и Windows. Теперь вы можете заходить с помощью пользователя sa в sql.
Если при попытке войти Management Studio выдает ошибку 233, что подключение к серверу успешно установлено, но затем произошла ошибка при входе, то сделайте следующее.
Откройте Пуск > Панель управления > Администрирование > Службы и перезапустите службу SQL Server.
Как видите, теперь я успешно залогинился.
Сменить пароль sa в sql через командную строку
Чтобы в sql сбросить пароль sa через командную строку воспользуйтесь вот такими командами.
Данной командой вы увидите все доступные сервера MS SQL их SPN
Далее вводите команду
далее пишите
sp_password NULL, <вставьте_новый_пароль_тут>, ’sa’
GO
Если вылезет сообщение Password validation failed. The password does not meet Windows policy requirements because it is too short. То задайте более строгий пароль.
Все после этого вы сбросите пароль sa в sql.
Еще вариант использования osql это вот так
затем мы пытаемся подключиться под доверенной учетной записей ОС
osql.exe" -S (local)\имя вашего сервера -E
И последний рубеж
ALTER LOGIN SA WITH PASSWORD='new_password'
она заменит пароль на new_password
С помощью программы Asunsoft SQL Password Geeker
Есть утилита Asunsoft SQL Password Geeker, к сожалению платная, но способная выполнить поставленную задачу. Запускаем ее жмем Browse далее идем по пути C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA и открываем master.mdf
теперь, чтобы сбросить пароль sa в sql, выберите его и нажмите Reset.
Сменить пароль sa в монопольном режиме
Есть еще четвертый способ поменять пароль от sa, и заключается он в запуске MS SQL в однопользовательском режиме (single-user mode). Что нам потребуется.
Первое это останавливаем MS SQL Server, можно через службы, а можно и из командной строки
Далее открываете реестр Windows и переходите в ветку
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ MSSQLSERVER
Теперь вам нужно задать параметр в строке ImagePath -m как раз и будет говорить об однопользовательском режиме. У меня получилось вот так
"C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -m -s MSSQLSERVER
Теперь запускаете MS SQL командой
Теперь SQL запущен в однопользовательском режиме и позволяет любому члену локальной группы администраторов компьютера подсоединяться к экземпляру SQL Server с правами sysadmin, но нужно SQL об этом сказать. Посмотреть режим работы можно в свойствах службы.
В командной строке пишем
sqlcmd.exe: EXEC sp_addsrvrolemember 'имя сервера\имя пользователя', 'sysadmin'
GO
Перезапускаем службу и радуемся жизни, не забудьте потом убрать параметр -m в реестре. Вот так вот просто сбросить пароль sa в sql, как встроенными методами так и сторонними.
Спасибо, получилось сбросить.
Спасибо
при попытке вход в свойства «sa» — пишет нет доступа..
TITLE: Microsoft Property IsLocked is not available for Login ‘[sa]’. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)
и че делать? (windows serv 2003, sql serv 2008 r2)
Тоже самое пишет на вновь созданных пользователях.
А в sql пароль пользователя sa, по умолчанию ведь тоже sa?
Да все верно
Спасибо первый метод подошел
Если учетка SA изначально не активна, то толку не будет если ей сбросить пароль?
Кажется была команда, которая ее включает, но вам придется погуглить.
В последнем варианте не удавалось подключиться к консоли БД…
Выход нашел такой:
Под админом в консоли пишем sqlcmd -S Имя компьютера\Имя инстанса
Если нет builtin то создаем
CREATE LOGIN [builtin\администраторы] FROM WINDOWS;
GO;)
Назначаем права администратора
EXEC sp_addsrvrolemember ‘builtin\администраторы’, ‘sysadmin’;
GO;
Можно назначить права и под конкретного пользователя
EXEC sp_addsrvrolemember ‘Domen\User’, ‘sysadmin’;
GO;
запустить службу SQL Server в обычном режиме
После всего еще пришлось включить микс авторизацию:
Правой кнопкой по инстансу БД
Выбрать «Properties» «Security»
«Server authentication» to «SQL Server and Windows Authentication mode»
перезапустить службу SQL Server
Правой кнопкой по инстансу БД
«Restart»
Спасибо
Как вы меня выручили, спасибо.
EXEC sp_addsrvrolemember — помогло
Спасибо!!!
Вы меня сильно выручили. Достался по наследству сервер, а прав на БД не хватало.