Контакты

Меняем пароль sa в sql. Изменяем пароль sa в MS SQL Sql server sa пароль по умолчанию

Прочитано: 366

Всякое бывает и всякое не бывает, но лучше иметь проработку на будущее чтобы не метаться потом, с вопросом — А как? Так вот сейчас я разберу давно волновавший меня вопрос, что делать если на сервере базы данных MS SQL Server 2008 R2 который достался Мне в наследство от предыдущего системного администратора не оставил вообще никаких паролей для подключения в оснастку управления именуемую как SQL Management Studio . Конечно оно все работает до поры до времени, но вот это время всегда приходится на такой парадокс:

Все обычно падает в пятницу, а в понедельник, что не упало в пятницу.

Я же этого всячески избегаю и прорабатываю постоянно сценки и шаги по восстановлению и резервированию если что-то пойдет не так.

Что можно узнать из развернутого?

Start - Control Panel - Administrative Tools - Services , служба относящаяся к сервису MSSQL - SQL Server (MSSQLSERVER) при открытии ее свойств (Properties ) и перехода на вкладку Log On работает от имени системной учетной записи. Это хорошо. Теперь в любое время когда у Вас запланированы регламентные работы делаем так, переопределяем запуск данной службы от имени учетной записи с правами (обязательно) администратора на этой системе, но сперва конечно же создаем пользователя:

Запускаем Command Prompt с правами администратора и создаем пользователи и даем ему права локального администратора:

C:\Windows\system32>net user ekzorchik 712mbddr@ /add

C:\Windows\system32>net localgroup Administrators ekzorchik /add

The command completed successfully.

C:\Windows\system32>exit

Теперь во вкладке Log On свойств службы SQL Server меняем от имени кого будет происходить запуск службы как показано на представленном скриншоте ниже:

This account: .\ekzorchik

Password: 712mbddr@

Confirm password: 712mbddr@

Следом последует окно с текстом:

The account .\ekzorchik has been granted the Log On As a Service right.

The new logon name will not take effect until you stop and restart the service

По такому же принципу проделываем и для службы SQL Server Agent от имени кого запускать данную службу.

Ну все правильно изменения применятся когда служба будет остановлена, а после запущена.

C:\Windows\system32>net stop SQLSERVERAGENT

The SQL Server Agent (MSSQLSERVER) service is stopping..

The SQL Server Agent (MSSQLSERVER) service was stopped successfully.

C:\Windows\system32>net stop MSSQLSERVER

C:\Windows\system32>net start SQLSERVERAGENT

The SQL Server Agent (MSSQLSERVER) service is starting.

The SQL Server Agent (MSSQLSERVER) service was started successfully.

Затем делаю Logoff , а потом Logon в систему под уже созданной локальной учетной записью ekzorchik . Открываю оснастку SQL Management Studio:

Start - All Programs - Microsoft SQL Server 2008 R2 - SQL Server Management Studio и авторизуюсь с использованием Windows Authentication

Нажимаю Connect , но в ответ вместо успешно входа получаю ошибку:

Делаю вывод что не прокатит такой фокус, вспоминая что еще можно сделать, вот в Ubuntu на учетную запись суперпользователя root в mysql я захожу в однопользовательский режим, интересно а тут такое есть.

Возвращаю все как было, т. е. Запуск службы от имени системы

Чтение документации на официальном сайте Microsoft привело меня вот к таким вот действиям по сбросу пароля на учетную запись SA:

Запускаю оснастку SQL Server Configuration Manager:

Start - All Programs - Microsoft SQL Server 2008 R2 - Configuration Tools - SQL Server Configuration Manager , затем останавливаю сервис SQL Server (MSSQLSERVER)

После чего остановленного сервиса открываю через правый клик его свойства (Properties ), тут переключаюсь на вкладку Advanced (Расширенные) и в строке:

Startup Parameters после: -dC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

указываю ключ -mSQLCMD . В итоге должно получиться следующее:

Теперь запускаю службу для применения настроек. Если по службам SQL в оснастке управления все хорошо, служба запустилась то переходим к следующему этапу.

Открываю консоль командной строки с правами администратора:

Start - All Programs - Accessories - запускаем Command Prompt с правами администратора

C:\Windows\system32>sqlcmd

1> create login recovery with password="712mbddr@"

2> go

1> sp_addsrvrolemember "recovery","sysadmin"

2> go

1> quit

Снова останавливаю сервис SQL Server (MSSQLServer) , запускаю свойства, перехожу на вкладку Advanced и убираю добавленный параметр в запуске и запускаю сервис снова.

Нажимаю Connect

Что теперь? А просто изменяем пароль sql учетной записи sa как и планировалось, а текущая останется на всякий случай:

(local) (SQL Server 10.50.1600 - recovery) - Security - Logins - выделяю учетную запись sa и через правый клик Properties ввожу новый пароль:

Password: 712mbddr@@

Confirm password: 712mbddr@@

И нажимаю OK . Разлогиниваюсь и проверяю что могу подключиться под учетной запись SQL :

File - Disconnect Object Explorer

File - Connect Object Explorer…

Нажимаю Connect и вуаля все получилось, как и было задумано.

На заметку: Но все можно проделать и из командной строки:

C:\Windows\system32>net stop mssqlserver

The SQL Server (MSSQLSERVER) service is stopping.

The SQL Server (MSSQLSERVER) service was stopped successfully.

C:\Windows\system32>net start mssqlserver /mSQLCMD

The SQL Server (MSSQLSERVER) service is starting.

The SQL Server (MSSQLSERVER) service was started successfully.

C:\Windows\system32>sqlcmd

1> <я_подключился>

Теперь я еще больше знаю по SQL Server 2008 R2 на всякий непредвиденный случай, вдруг у нас в отделе кто-то возьмет и намеренно все поменяет не предупредив ни кого. Задача поставленная в самом начале данной заметки выполнена. На этом я прощаюсь, с уважением автор блога - Олло Александр aka ekzorchik.

Навигация по записям

будут появляться чаще:)

Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047

«sa» — это логин пользователя в MS SQL, имеющий по умолчанию самые высокие привилегии, сама учетка локальная, зачастую даже выключенная, но тем не менее часто используемая. Если вы потеряли или забыли пароль от этой учетки «sa», то у вас не будет доступа к управлению вашими БД.

Пароль sa по умолчанию

Напомню пароль sa по умолчанию как ни странно sa

Единственное требование, вы везде должны быть локальным администратором

Сменить пароль sa в sql через графический интерфейс

Начнемс, откройте пуск и идите по пути Все программы > Microsoft SQL Server 2012 R2 > Среда SQL Server Management Studio

Либо вы можете открыть командную строку и ввести там ssms.

У вас откроется SQL Server Management Studio.

По умолчанию стоит проверка подлинности Windows, что означает, что вы сможете войти только с локальной учетной записью Windows или доменной, главное чтобы были права.

Учетная запись sa по умолчанию отключена, но это не помешает вам сменить ей пароль.

ms sql позволяет сбросить пароль sa через ее свойства, для этого щелкаете правым кликом и выбираете свойства из контекстного меню.

На вкладке общие вы увидите, поле для ввода нового пароля, единственное учтите, что если стоит галка Требовать использование политики паролей, вам придется придумать стойкий пароль отвечающий требованиям безопасности, а именно

  • Должна быть большая буква в пароле
  • Должна быть маленькая буква в пароле
  • Должен быть спецсимвол или цифра в пароле

Если галку снять, то можно задать новый пароль и сохранить. Пароль на пользователя 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’

Если вылезет сообщение Password validation failed. The password does not meet Windows policy requirements because it is too short. То задайте более строгий пароль.

Все после этого вы сбросите пароль sa в sql.

Еще вариант использования osql это вот так

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binnзатем мы пытаемся подключиться под доверенной учетной записей ОС

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, можно через службы, а можно и из командной строки

net stop MSSQLSERVER

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 командой

net start MSSQLSERVER

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

В командной строке пишем

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binnsqlcmd.exe: EXEC sp_addsrvrolemember "имя сервера\имя пользователя", "sysadmin"

Перезапускаем службу, не забудьте потом убрать параметр -m в реестре. Пароль сброшен на пользователя sa в sql.

Всем привет, сегодня расскажу как изменить или сбросить пароль sa sql сервера. Напомню sa это логин пользователя в MS SQL, имеющий по умолчанию самые высокие привилегии, сама учетка локальная, зачастую даже выключенная, но тем не менее часто используемая. Может получиться такая ситуация, что вы забыли от нее пароль и тем самым потеряли доступ к базам данных, сегодня вы научитесь это обходить и восстанавливать доступ до ваших БД.

sp_password NULL, <вставьте_новый_пароль_тут>, ’sa’

Если вылезет сообщение 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, можно через службы, а можно и из командной строки

net stop MSSQLSERVER

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 командой

net start MSSQLSERVER

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

В командной строке пишем

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn

sqlcmd.exe: EXEC sp_addsrvrolemember "имя сервера\имя пользователя", "sysadmin"

Перезапускаем службу и радуемся жизни, не забудьте потом убрать параметр -m в реестре. Вот так вот просто сбросить пароль sa в sql, как встроенными методами так и сторонними.

Понравилась статья? Поделитесь ей