Невозможно войти в систему, используя SA с аутентификацией SQL

9

Я не могу войти в SQL Server 2008 с использованием аутентификации SQL Server.

Я могу войти только в режиме аутентификации Windows.

Я выбрал только настройки по умолчанию при установке SQL Server 2008 R2.

хан
источник
3
«Только проверка подлинности Windows» - это механизм безопасности по умолчанию, указанный при установке.
Макс Вернон

Ответы:

13

Вы смотрели где-нибудь? Щелкните правой кнопкой мыши сервер и выберите «Свойства», затем выберите экран «Безопасность».

введите описание изображения здесь

Затем войдите в систему, используя свою учетную запись администратора Windows Auth, и установите пароль для saучетной записи SQL Auth.

ALTER LOGIN sa WITH PASSWORD = 'strong password here';
Аарон Бертран
источник
Спасибо, приятель, я выбрал эту опцию, и когда я вошел в режим аутентификации sql. Я ввел sa в логин и оставил пароль пустым, так как я не предоставлял пароль во время установки
khan
Вам необходимо установить пароль для учетной записи sa при входе в систему с использованием аутентификации Windows. В SQL Server больше не существует пустых паролей sa.
Аарон Бертран
3

Какой режим аутентификации?

Возможно, ваш сервер настроен на работу только в режиме аутентификации Windows . Это можно проверить, открыв Свойства вашего экземпляра SQL Server в SQL Server Management Studio и просмотрев раздел « Безопасность »:

Свойства безопасности SSMS

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

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'

Если возвращено значение, LoginMode 2то активированы режим аутентификации SQL Server и Windows . (См. Шаг 2. для получения подробной информации о том, как это изменить.)

Если возвращено значение, LoginMode 1то активирован режим аутентификации Windows . (Дополнительные сведения о том, как изменить этот параметр, см. В шаге 1. ) Вход в систему с чистыми именами входа SQL Server невозможен.


Шаг 1. - Изменение режима аутентификации

Если ваш экземпляр настроен на использование только режима проверки подлинности Windows, вам придется включить SQL Server и режим проверки подлинности Windows и перезагрузить сервер. Следуйте этим простым шагам:

1. Изменить режим аутентификации

SQL Script

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

SQL Server Management Studio (SSMS)

Измените параметр в разделе безопасности окна свойств на режим SQL Server и Windows Authentication .

Свойства безопасности SSMS - режим проверки подлинности SQL Server и Windows

2. Перезапустите экземпляр SQL Server.

SQL Script

(может быть достигнуто с помощью SQL Script в режиме SQLCMD )

-- Connect to your instance
-- (Replace <instancename> with your instance's name
:connect <instancename>

-- Stop your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net stop SQLSERVERAGENT
-- (Replace MSSQLServer with the name of your service)
!! net stop MSSQLServer

-- Start your SQL Server instance 

-- (Replace SQLSERVERAGENT with the name of your service)
!! net start MSSQLServer
-- (Replace SQLSERVERAGENT with the name of your service)   
!! net start SQLSERVERAGENT

:connect localhost

SQL Server Management Studio (SSMS)

Щелкните правой кнопкой мыши ваш экземпляр SQL Server и выберите « Перезагрузить» в контекстном меню:

Перезапуск экземпляра SSMS через контекстное меню

3. Проверьте настройку

SQL Script

Убедитесь, что ваш экземпляр работает в режиме аутентификации SQL Server и Windows , введя следующую команду:

EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'

Вы должны получить LoginMode 2.

SQL Server Management Studio (SSMS)

Убедитесь, что переключатель выбран для режима SQL Server и режима проверки подлинности Windows .

Свойства безопасности SSMS - режим проверки подлинности SQL Server и Windows

Если ваша учетная запись sa была отключена, выполните также шаг 2 .. В противном случае вы закончили.


Шаг 2. Включение учетной записи sa

В случае деактивированной учетной записи sa , просто включите учетную запись SQL Server снова. Это может быть достигнуто с помощью следующего скрипта:

USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'<your password>'
GO
ALTER LOGIN [sa] ENABLE
GO

... или через SSMS.

Джон ака hot2use
источник
-1

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

Войти в базу данных с аутентификацией Windows

Запустить запрос:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

Использование CHECK_POLICY является обязательным, поскольку оно указывает, что политики паролей Windows на компьютере, на котором работает SQL Server, должны применяться при этом входе в систему. По умолчанию установлено значение «ВКЛ.», Когда мы отключаем его, пароль будет изменен без каких-либо затруднений. Позже вы можете ON

ПРИМЕЧАНИЕ. Что я заметил, когда CHECK_POLICY включен в GUI SSME, решения по смене пароля не будут работать каждый раз. Я не причина, но это я заметил.

Джей Патель
источник
Хорошо, Джей. Теперь, пожалуйста, отредактируйте свой ответ (слева, напротив вашей картинки) и включите эту дополнительную информацию. Затем вы можете удалить свой комментарий (наведите курсор на комментарий, появится крестик в круге), как я буду удалять мой.
Майкл Грин