null

Изменение режима аутентификации Microsoft SQL Server

Данная заметка будет полезна людям не имеющих опыта работы с Microsoft SQL Server и столкнувшихся с проблемой аутентификации под учетными записями SQL сервера.

Microsoft SQL Server имеет возможность производить аутентификацию с помощью учетных записей Windows, что является достаточно удобной возможностью, Выбор режима аутентификации возможен между двумя вариантами :

  1. Windows Authentication mode
  2. SQL Server and Windows Authentication mode

В случае если в процессе установки SQL Server был включен смешанный режим аутентификации, то проблем быть не должно и есть возможность залогиниться дефолтным под пользователем SA

В противном случае есть два варианта.
Первый вариант предполагает изменение в регистре поля SQL Сервера хранящего значение типа аутентификации.

Для изменения требуется зайти в 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server 

Для определения экземпляра нашего сервера, необходимо посмотреть значение поля  MSSQLSERVER находящегося в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL в параметре.

В данном случае имя сервера MSSQL10_50.MSSQLSERVER 

За аутентификацию отвечает параметр LoginMode, находящийся в ветке MSSQLServer в экземпляре нашего сервера, т.е. в данном примере параметр LoginMode будет находиться в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer 
 

Поле LoginMode может иметь два значения :

  1. Windows аутентификация
  2. SQL Server and Windows Authentication mode (смешанная)

Изменяем значение на 2, жмем кнопку OK и ОБЯЗАТЕЛЬНО перезапускаем SQL Server. 

Перезапуск сервера осуществляется путем перезапуска сервиса SQL Server (MSSQLSERVER)

 

Второй вариант заключается в использовании SQL Management Studio

Если при установке SQL сервера был выбран  пункт Management Tools , то повторная установка компонента, естественно, не требуется 

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

 

В появившемся окне выбрать сервер ( в данном случае local) и тип аутентификации ( в нашем случае именно поэтому необходимо логиниться в систему под учетной записи пользователя находящегося в списке пользователей SQL)

После аутентификации нужно войти в свойства сервера

и на вкладке Security выбрать необходимый тип аутентификации

После нажатия клавиши OK появится предуплреждение о необходимости перезапуска SQL сервера для применения изменений

 

Перезапустить SQL Server можно из окна SQL Management Studio, выбрав на необходимом сервере Restart

 

P.S. Чтобы залогиниться из power shell учетной записью Windows необходимо использовать ключ E, в отличии от аутентификации SQL пользователем osql -U sa
Поэтому необходимо  выполнить от имени пользователя Windows oslq -E