programing

Microsoft SQL Server 로그인 오류: 18456

codeshow 2023. 4. 7. 21:45
반응형

Microsoft SQL Server 로그인 오류: 18456

SQL Server에 연결하려고 하면 이 오류가 발생합니다.

Microsoft SQL Server 오류: 18456

에러코드가 무슨 의미인지 말해 줄 사람?

"SQL Server 인증"을 사용하여 연결하려는 경우 서버 인증을 수정할 수 있습니다.

오브젝트 탐색기의 Microsoft SQL Server Management Studio에서 다음을 수행합니다.

  1. 후 [ ]을 클릭합니다.Properties

  2. ㅇㅇㅇㅇㅇㅇ로 가보세요.Security페이지

  3. 래래 under Server authentication 고르다SQL Server and Windows Authentication mode 버튼

  4. [ ] 를 합니다.OK

  5. SQL 서비스 재시작

데이터 플랫폼팀의 이 MSDN 블로그 기사를 참조하십시오.

문제의 근본 원인을 찾으려면 오류 메시지의 상태 부분을 살펴봐야 합니다.

2, 5 = Invalid userid
6 = Attempt to use a Windows login name with SQL Authentication
7 = Login disabled and password mismatch
8 = Password mismatch
9 = Invalid password
11, 12 = Valid login but server access failure
13 = SQL Server service paused
18 = Change password required

그 후 구글에서 문제를 해결하는 방법을 알아봅니다.

열기 전에 마우스 오른쪽 버튼을 클릭하고 '관리자로 실행'을 선택합니다.이것으로 나는 그 문제를 해결했다.

나는 이 문제에 직면했다.

첨부한 이미지를 봐주세요.

순서 1: 서버 속성으로 이동

순서 2: 보안으로 이동

순서 3: 서버 인증을 SQL 서버 및 Windows로 변경합니다.인증 모드

SQL 서버를 재시작합니다.

여기에 이미지 설명 입력

먼저 "state"가 "1"인 경우 오류 세부 정보를 확인합니다. SQL Server / Properties / Security에서 SQL과 Windows 인증 모두에 대해 데이터베이스가 설정되어 있는지 확인합니다.

그 외의 상태에 대해서는, 상기의 회답을 참조해 주세요.

업데이트일 뿐입니다.다른 사용자가 올바르게 설정된 로그인에 오류가 있는 경우 다음과 같은 해결책을 제시합니다.

"SQL Server 인증"을 사용하여 연결하려는 경우 서버 인증을 수정할 수 있습니다.

오브젝트 탐색기의 Microsoft SQL Server Management Studio에서 다음을 수행합니다.

서버를 우클릭하여 [프로퍼티]을 클릭합니다.

보안 페이지로 이동합니다.

[ Server authentication ]그래서 [SQL Server and Windows Authentication mode]옵션 버튼을 선택합니다.

[확인] 을 클릭합니다.

SQL 서비스 재시작

  1. 서버에서 혼합 모드 인증이 활성화되어 있는지 확인합니다.-> 속성
  2. 그런 다음 서버에서 로그인을 만듭니다.-> 보안
  3. 데이터베이스에 해당 로그인에 대한 사용자 생성
  4. 그런 다음 인스턴스를 마우스 오른쪽 버튼으로 클릭하여 서버를 재시작하고 재시작을 선택합니다.

로그인 사용자 credential을 변경하거나 새 로그인 사용자를 추가할 경우 로그인 후 SQL Server 서비스를 재시작해야 합니다.그 때문에

[서비스(Services)

그런 다음 SQL Server(MSSQLSERVER)로 이동하여 중지하고 다시 시작합니다.

로그인을 시도해 보세요. 할 수 있으면 좋겠네요.

감사해요.

방금 나한테 일어났는데, 알고보니 여기 나열된 다른 사건들과는 달랐어.

같은 클러스터 내에서 호스트 되고 있는2대의 가상 서버가 각각 독자적인 IP 주소를 가지고 있습니다.호스트가 서버 중 하나를 SQL Server로 설정하고 다른 하나를 웹 서버로 구성했습니다.그러나 SQL Server는 둘 다 설치되어 실행되고 있습니다.호스트가 어떤 서버가 SQL이고 어떤 서버가 웹인지 언급하지 않았기 때문에 첫 번째 서버가 웹이고 두 번째 서버가 SQL이라고 가정했습니다.

(생각했던 대로) SQL Server에 접속하여 SSMS 경유로 접속하려고 했을 때 [Windows Authentication]를 선택했을 때 이 질문에서 언급된 오류가 나타납니다.SQL Server Network Configuration, Protocols for MSSQLSERVER를 포함한 모든 설정을 자세히 살펴보았습니다.

TCP/IP 설정의 스크린샷

TCP/IP 를 더블 클릭 하면, 다음과 같이 표시됩니다.

TCP/IP 속성, 잘못된 IP 주소 표시

IP 주소가 다른 가상 서버의 IP 주소입니다!이것에 의해, 서버간에 혼란이 생겼을 뿐만 아니라, 세컨드 서버에서는 모두 정상적으로 동작하고 있는 것을 깨달았습니다.

사용자를 오른쪽 클릭하여 속성으로 이동하고 기본 데이터베이스를 마스터로 변경합니다. 이것은 오류 19456이 발생한 경우 확인해야 하는 내용을 보여주는 이미지 화면 인쇄입니다.사용자에게 권한이 없는 데이터베이스로 기본 설정되는 경우가 있습니다.

18456 오류 상태 목록

오류 상태 오류 설명

  • 상태 2 및 상태 5 사용자 ID가 잘못되었습니다.
  • 상태 6 SQL 인증에서 Windows 로그인 이름 사용 시도
  • 상태 7 로그인이 비활성화되어 비밀번호가 일치하지 않음
  • 상태 8: 비밀번호 불일치
  • 상태 9 비활성 비밀번호
  • 상태 11 및 상태 12 로그인은 유효하지만 서버 액세스 실패
  • State 13 SQL Server 서비스가 일시 중지되었습니다.
  • 상태 18 비밀번호 변경 필요

생각할 수 있는 원인은 다음과 같습니다.이유는 다음과 같습니다.또, 대처법을 간단하게 설명합니다.

SQL 인증을 사용할 수 없습니다.SQL Server 인스턴스에서 SQL Login을 처음 사용하는 경우 서버가 윈도우즈 인증 모드로 설정될 수 있으므로 오류 18456이 자주 발생합니다.

어떻게 고칠까?[ SQL Server and Windows Authentication Mode ]페이지를 확인합니다.

잘못된 사용자ID: SQL Server가 가져오려는 서버에서 지정된 사용자 ID를 찾을 수 없습니다.가장 일반적인 원인은 이 사용자가ID 는 서버상에서 액세스 할 수 없습니다만, 단순한 오타일 가능성이 있습니다.또, 실수로 다른 서버에 접속하려고 하고 있는 경우도 있습니다(여러 서버를 사용하는 경우는, 통상은)

비밀번호가 잘못되었습니다.비밀번호가잘못되었거나오타입니다.이 유저명은, 서버 마다 다른 패스워드를 설정할 수 있습니다.

덜 흔한 오류:사용자서버에서 ID가 비활성화되어 있을 수 있습니다.SQL 인증을 위해 Windows 로그인이 제공되었습니다(Windows 인증으로 변경).SSMS 를 사용하는 경우는, 이 옵션을 사용하려면 , 다른 유저로서 실행할 필요가 있는 경우가 있습니다).패스워드의 유효기간이 지났을 가능성이 있으며, 그 외의 몇 가지 이유가 있을 수 있습니다.또 아는 게 있으면 알려주세요.

18456 상태 1 설명:일반적으로 Microsoft SQL Server는 오류 상태 1을 표시합니다.이것은 18456 에러가 발생한 것 이외에는 실제로는 아무것도 의미하지 않습니다.상태 1은 시스템을 보호하기 위해 실제 상태를 숨기는 데 사용됩니다. 이 말은 일리가 있습니다.아래는 모든 다른 상태의 목록입니다.정확한 상태의 취득에 대한 자세한 내용은 SQL Server 2005의 "로그인 실패" 오류 메시지 이해(Error 18456)를 참조하십시오.

도움이 되었으면 좋겠다

또한 Windows 인증을 사용하여 로그인하고 다음 쿼리를 실행하여 활성화할 수도 있습니다.

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

출처 : https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode

처음에 시작 바에 가서 로컬 서비스를 검색한 후 "로컬 서비스 보기"를 클릭하면 서비스 창이 열리고 SQL Server(MSSQLSERVER)에서 마우스 오른쪽 버튼을 클릭한 후 다시 마우스 오른쪽 버튼을 클릭하여 시작을 클릭합니다.이제 로그인하여 사용자 이름을 'sa'로 입력할 수 있으며 비밀번호는 원화 비밀번호입니다.

도메인 멤버 PC인지 네트워크에 연결되어 있는지 확인하십시오.또한 네트워크 메트릭으로 인해 경로가 잘못될 수 있으므로 듀얼 홈 PC에 있지 않도록 하십시오.SQL Windows 인증이 로컬 PC 계정으로 전환되어 도메인에 접속할 수 없는 상태에서 SQL 인증으로 등록했을 때 이 문제가 발생했습니다.무선 어댑터를 무효로 해 재기동하면, Windows 의 연동이 도메인 어카운트로 돌아와 정상적으로 인증됩니다.저는 이미 당신이 했던 것처럼 Mixed 모드를 설정했기 때문에 이전 투고는 적용되지 않습니다.

저는 로그인과 비밀번호가 틀렸습니다.

Active Directory에 정의된 사용자로 로그인하려고 하지만 로그인 화면에서 "SQL Server 인증"을 사용하려고 하면 이 문제가 발생할 수 있습니다.NTLM/Windows 인증을 사용하여 다른 사용자를 지정하는 방법을 알 수 없습니다.[ Windows Authentication ]드롭다운을 클릭하면, 유저명과 패스워드가 공백이 되어, 사용자명으로서만 로그인할 수 있습니다.

제 경우 여러 번 실수로 계정이 잠겼습니다.그러기 위해 다음 쿼리를 실행해보니 효과가 있었습니다: ALTER LOGIN WITH PASSWORD= UNLOCK. 그리고 SQL Server -> Properties를 마우스 오른쪽 버튼으로 클릭하여 특정 사용자의 "Enforce Password Security" 옵션을 선택 해제하십시오.

SQL Server 연결 문제 해결

SQL Authentication에 접속할 수 없고 다른 솔루션을 사용해 본 경우.

다음을 시도할 수 있습니다.

접속 확인

  • 방화벽을 비활성화합니다.
  • 1434에서 PortQry를 실행하여 답변을 확인합니다.

상태를 확인합니다.

  • SSMS 또는 sqlcmd에 접속하여 메시지를 확인합니다.
  • 상태 1은 거의 문서화되어 있지 않지만, 그것은 단지 당신이 실제 상태를 알 권리가 없다는 것을 의미합니다.
  • SQL Server 디렉토리의 로그 파일을 보고 상태를 확인합니다.

스테이트 5

뭐야? 내 로그인은 존재하지 않아?바로 저기 있어. SSMS에서 볼 수 있어. 어떻게 그럴 수 있지?

가장 그럴듯한 설명이 가장 맞을 것 같다.

로그인 상태

  • 파괴하고, 재생성하고, 활성화시켜라.
  • 패스워드를 리셋 합니다.

아니면...

'잘 못 봤어' '보이는 게 생각 같지 않아'

로컬 DB와 SQLEXPRESS의 경합

Windows 인증을 사용하여 SSMS에 접속하고 인스턴스 이름이 SQLEXPRESS인 경우 LocalDb가 올바른 서버가 아닌 으로 생각됩니다.방금 LocalDb에 로그인을 작성했습니다.

SSMS를 사용하여 SQL Server 인증을 통해 연결하면 SQLEXPRESS 실서버에 접속하려고 합니다.이 실서버에는, 마음에 드는 로그인이 아직 존재하지 않습니다.

기타 주의사항:이상한 연결 문자열을 잊지 않았다면 연결 매개 변수 탭에서 확인하십시오.

다른 해결책이 내게는 효과가 있었다. serever->security->logins->new logins->General->사용자 이름을 로그인 이름으로 만듭니다. sql server authentication add passwords를 클릭합니다.

[패스워드 검증 3]체크박스를 끄겠습니다이거면 될 거야.

서버 속성을 변경해야 합니다. -> 보안 위치Server authentication로.SQL Server and Windows Authentication mode

sa 계정의 mssql 비밀번호 변경에 대해 Linux에서 수행할 수 있습니다.

sudo /opt / subsql / bin / subsql-conf 셋업

The license terms for this product can be downloaded from
 http://go.microsoft.com/fwlink/?LinkId=746388 Jump Jump
and found in /usr/share/doc/mssql-server/LICENSE.TXT.
Do you accept the license terms? [Yes/No]:yes
  Setting up Microsoft SQL Server
Enter the new SQL Server system administrator password:  --Enter strong password
Confirm the new SQL Server system administrator password: --Enter strong password
 starting Microsoft SQL Server...
 Enabling Microsoft SQL Server to run at boot...
Setup completed successfully.

SQL 인스턴스 아래에 새 sysadmin 사용자를 생성한 후 이 오류가 발생했습니다.관리자 사용자가 특정 도메인 My Organization/useradmin 아래에 생성되었습니다.

연결이 끊긴 환경에서 useradmin을 사용하면 SQL Server 인증을 사용하여 다른 사용자를 생성할 수 있지만 로그인을 시도하면 바로 로그인이 됩니다.

Microsoft SQL Server 오류: 18456

이 문제를 해결하려면 조직 네트워크에 다시 연결하고 연결된 상태에서 사용자를 생성해 보십시오. 그러면 연결이 끊어지고 작동합니다.

나도 같은 문제에 직면했다.표시되는 경우 다음 쿼리를 실행합니다.

DBCC FREEPROCCACHE

DBCC DROPCLEANBUFFERS

18456 에러 코드가 표시됩니다.

SQL Server를 다시 연결한 후 동일한 쿼리를 다시 실행합니다.잘 될 거예요.

"선택사항"을 누른 후 "연결 정보"에서 "데이터베이스에 연결:" 옆에 있는 카탈로그/데이터베이스 이름을 지정합니다.이 에러는 <default>로 설정되어 있어 dbname을 지정해야 했기 때문에 발생하였습니다.

Microsoft SQL Server 오류: 18456 비밀번호를 잘못 입력했기 때문에 문제가 발생하였습니다.Microsoft SQL Server 오류 코드: 18456 - 비밀번호가 올바르지 않음을 나타냅니다.

참고 자료: https://learn.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-18456-database-engine-error?view=sql-server-ver16

내가 컴퓨터를 복원했을 때 그것은 나에게 일어난다.

윈도 및 SQL 인증 활성화 PC 재부팅

내 경우 pyodbc 설치를 잊어버렸기 때문에 여전히 오류가 발생합니다.d

언급URL : https://stackoverflow.com/questions/20923015/login-to-microsoft-sql-server-error-18456

반응형