Microsoft SQL Server에 로그인 오류 : 18456


295

SQL Server에 연결하는 동안이 오류가 발생합니다.

Microsoft SQL Server 오류 : 18456

아무도 오류 코드의 의미를 말해 줄 수 있습니까?


6
커서 검색은 오류 코드가 로그인 실패임을 나타내며 일반적으로 더 자세한 정보가 수반됩니다.
David

더 자세한 정보는 SQL Server 오류 로그에 있어야합니다. 숫자 자체는 의도적으로 많은 것을 말하지 않으므로 크래커는 시도가 잘못되는 곳의 단서에 사용할 수 없습니다.
Tony Hopkinson

유용한 정보는 여기에 있습니다
sairfan

1
방금run as administrator
Jacksonkr

답변:


706

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

개체 탐색기의 Microsoft SQL Server Management Studio 내에서 :

  1. 서버를 마우스 오른쪽 버튼으로 클릭하고 Properties

  2. Security페이지로 이동

  3. 아래는 Server authentication선택 SQL Server and Windows Authentication mode라디오 버튼을

  4. 딸깍 하는 소리 OK

  5. SQL 서비스를 다시 시작하십시오.


32
감사. 사용자를 추가하려고 할 때 경고 메시지가 없습니다.
JohnnyBizzle

12
"오른쪽 클릭 서버 및 클릭 속성"이란 무엇입니까?
emcor

9
그는 개체 탐색기의 최상위 노드-재생 버튼이있는 노란색 실린더
JGilmartin

21
이것은 사람들이 겪는 매우 일반적인 문제입니다. 이 간단한 설정이 해제되어 있음을 깨닫지 않고 마음의 내용에 대한 SQL Server 로그인을 만들 수 있다는 사실은 다소 혼란 스럽습니다. 나는 이것을 정답으로 추천합니다.

7
@ JGilmartin, 오류 18456이 발생했을 때 얼마나 정확하게 개체 탐색기에서 서버에 연결할 수 있습니까 ?
Shai Alon

69

데이터 플랫폼 팀에서이 블로그 기사를 확인하십시오.

http://blogs.msdn.com/b/sql_protocols/archive/2006/02/21/536201.aspx

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

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

이후 Google은이 문제를 해결하는 방법을 설명합니다.


42
아니 내 자신의 나팔을 불다,하지만 나는 컴파일 많은 여기에 더 많은 정보를 : sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/...
아론 버트 랜드

당신은 항상 당신에게 뿔을 ... ... 투표에 감사? 그러나 당신은 더 완전한 것으로 보입니다! 대부분의 사람들은 Google 사용법을 모른다고 생각합니다.
CRAFTY DBA

1
Google에서 답을 얻을 수있는 질문에 답변하는 것만으로도 사람들이 검색하지 않고 계속해서 여기
Aaron Bertrand

13
여기에서 99 %의 질문에 대해 Google이 대답 할 수도 있지만 간단한 간단한 질문과 대답으로 상당한 검색 시간을 절약하고 불필요한 기사 / 블로그를 자주 쏟아 부을 수 있습니다.
Chris Nevill

12
여기 내가 구글을 사용할 때 답을 찾을 수있는 곳이 여기 있습니다 (구글 검색이 SO 검색보다 더 나은 검색) ...
Cos Callis

27

열기 전에 마우스 오른쪽 버튼을 클릭하고 '관리자 권한으로 실행'을 선택하십시오. 이것은 나를 위해 문제를 해결했습니다.


1
이것은 나를위한 수정이었습니다. 나는 한 State: 1오류 메시지에.
GraehamF

@Gsic 당신은 진정한 구원자입니다. 나는 하루 이상 고군분투 해 왔으며 귀하의 솔루션으로 해결했습니다. 감사합니다
Karthik

무엇을 열기 전에 ??
Mike

11

먼저 "state"가 "1"인 경우 오류의 세부 사항을 참조하십시오. 데이터베이스가 SQL Server / Properties / Security에서 SQL 및 Windows 인증에 대해 설정되어 있는지 확인하십시오.

다른 주에 대해서는 위의 답변을 참조하십시오 ....


1
OMG 감사합니다! 내 로그인 중 아무것도 작동하지 않았 으므로이 답변을 우연히 발견하고 어떻게 든 SQL Express 인스턴스가 "SQL 및 Windows 인증"에서 "Windows 인증"으로 변경되었음을 알았습니다. 다시 변경하고 모든 작업을 수행했습니다.
Ian Kemp

1
또한 SSMS를 충분히 닫지 않으면 변경 사항을 적용하려면 SqlServer 서비스를 다시 시작해야합니다.
Ravid Goldenberg

10

나는이 문제에 직면했다.

첨부 된 이미지를 참조하십시오

1 단계 : 서버 속성으로 이동

2 단계 : 보안으로 이동

3 단계 : 서버 인증을 SQL Server 및 Windows 인증 모드로 변경

Sql 서버를 다시 시작하십시오.

여기에 이미지 설명을 입력하십시오


9
  1. 서버-> 특성에서 혼합 모드 인증이 사용 가능한지 확인하십시오.
  2. 그런 다음 서버-> 보안에서 로그인을 작성하십시오.
  3. 데이터베이스에서 해당 로그인에 대한 사용자를 작성하십시오.
  4. 그런 다음 인스턴스를 마우스 오른쪽 단추로 클릭하여 서버를 다시 시작하고 다시 시작을 선택하십시오.

5

방금 나에게 일어 났고 여기에 나열된 다른 모든 경우와 다른 것으로 판명되었습니다.

동일한 클러스터에서 호스팅되는 두 개의 가상 서버가 있으며 각 서버에는 고유 한 IP 주소가 있습니다. 호스트는 서버 중 하나를 SQL Server로 구성하고 다른 서버를 웹 서버로 구성했습니다. 그러나 SQL Server가 모두 설치되어 실행 중입니다. 호스트는 어느 서버가 SQL이고 어느 서버가 웹인지 언급하는 것을 잊었습니다. 그래서 첫 번째는 웹이고 두 번째는 SQL이라고 가정했습니다.

(내 생각에 따라) SQL Server에 연결하고 SSMS를 통해 연결하려고 할 때 Windows 인증을 선택하면이 질문에 언급 된 오류가 발생했습니다. 머리카락을 많이 뽑은 후 SQL Server 네트워크 구성, MSSQLSERVER 프로토콜을 포함한 모든 설정을 살펴 보았습니다.

TCP / IP 구성 스크린 샷

TCP / IP를 두 번 클릭하면 다음과 같이 표시됩니다.

잘못된 IP 주소를 표시하는 TCP / IP 속성

IP 주소는 다른 가상 서버의 주소였습니다! 이것은 마침내 서버간에 혼란스럽고 두 번째 서버에서 모두 잘 작동한다는 것을 깨달았습니다.


4

로그인 사용자 자격 증명을 변경하거나 새 로그인 사용자를 추가 한 경우 로그인 한 후 SQL Server 서비스를 다시 시작해야합니다. 그에 대한

서비스로 이동-> 회색 행

그런 다음 SQL Server (MSSQLSERVER)로 이동하여 중지했다가 다시 시작하십시오.

이제 로그인을 시도하십시오. 가능합니다.

감사


3

18456 오류 상태 목록

오류 상태 오류 설명

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

가능한 원인 아래는 이유 및 간단한 조치 설명입니다.

SQL 인증 사용 안함 : SQL Server 인스턴스에서 SQL 로그인을 처음으로 사용하는 경우 서버가 Windows 인증 모드로 설정되어있을 수 있기 때문에 오류 18456이 자주 발생합니다.

수정하는 방법 ? 이 SQL Server 및 Windows 인증 모드 페이지를 확인하십시오.

잘못된 userID : SQL Server가 가져 오려는 서버에서 지정된 UserID를 찾을 수 없습니다. 가장 일반적인 원인은이 사용자 ID에 서버에 대한 액세스 권한이 부여되지 않았지만 이는 단순한 오타 일 수도 있고 실수로 다른 서버에 연결하려고 시도하는 것입니다 (두 대 이상의 서버를 사용하는 경우 일반적)

잘못된 비밀번호 : 잘못된 비밀번호 또는 오타입니다. 이 사용자 이름은 서버마다 다른 암호를 가질 수 있습니다.

덜 일반적인 오류 : 서버에서 userID가 비활성화되었을 수 있습니다. SQL 인증을 위해 Windows 로그인이 제공되었습니다 (Windows 인증으로 변경하십시오. SSMS를 사용하는 경우이 옵션을 사용하려면 다른 사용자로 실행해야 할 수도 있습니다). 암호가 만료되었을 수 있으며 다른 여러 가지 이유가있을 수 있습니다…. 다른 것을 알고 있다면 알려주십시오.

18456 상태 1 설명 : 일반적으로 Microsoft SQL Server는 오류 상태 1을 제공하는데, 이는 실제로 18456 오류가 있다는 것을 의미하지는 않습니다. 상태 1은 시스템을 보호하기 위해 실제 상태를 숨기는 데 사용됩니다. 아래는 다양한 상태의 목록이며 정확한 상태를 검색하는 방법에 대한 자세한 내용은 SQL Server 2005의 "로그인 실패"(오류 18456) 오류 메시지 이해 를 참조하십시오.

희망이 도움이


2

사용자를 마우스 오른쪽 단추로 클릭하고 속성으로 이동 한 후 기본 데이터베이스를 마스터로 변경하십시오. 이것은 19456 오류가 있는지 확인해야하는 이미지를 보여주는 화면 인쇄입니다. 때때로 사용자에게없는 데이터베이스가 기본값입니다. 허가


2

먼저 시작 표시 줄로 이동하여 로컬 서비스를 검색 한 다음 "로컬 서비스보기"를 클릭하십시오. 서비스 창을 연 다음 SQL Server (MSSQLSERVER)로 이동하여 마우스 오른쪽 버튼을 클릭하고 중지를 클릭 한 다음 다시 마우스 오른쪽 버튼을 클릭하고 시작을 클릭하십시오. 이제 로그인하고 사용자 이름을 'sa'로 입력 할 수 있으며 비밀번호는 원 비밀번호입니다.



1

도메인 멤버 PC 인 경우 네트워크에 연결되어 있는지 확인하십시오. 또한 네트워크 메트릭으로 인해 경로가 잘못되었을 수 있으므로 듀얼 홈 PC에 있지 않은지 확인하십시오. SQL Windows 인증이 로컬 PC 계정으로 전환되었지만 도메인에 SQL 인증으로 등록한 도메인에 연결할 수 없을 때이 문제가 발생했습니다. 무선 어댑터를 비활성화하고 다시 부팅하면 Windows 통합이 도메인 계정으로 다시 전환되고 인증되었습니다. 이전 게시물이 적용되지 않도록 이미 수행 한 것처럼 이미 혼합 모드를 설정했습니다.



0

Active Directory에 정의 된 사용자로 로그인하려고하지만 로그인 화면에서 "SQL Server 인증"을 사용하려고 시도하는 경우이 문제가 발생할 수 있다고 생각합니다. NTLM / Windows 인증으로 다른 사용자를 지정하는 방법을 모르겠습니다. Windows 인증 드롭 다운을 클릭하면 사용자 이름과 비밀번호가 공백으로 표시되며 본인 만 로그인 할 수 있습니다.


0

내 경우에는 여러 번의 잘못된 시도로 계정이 잠겼습니다. 아래 쿼리를 실행하려고 시도했지만 작동했습니다. ALTER LOGIN WITH PASSWORD = UNLOCK 그리고 특정 사용자에 대해 "암호 보안 적용"옵션을 선택 취소하십시오 Sql Server-> 속성을 ​​마우스 오른쪽 버튼으로 클릭하십시오.


0

SQL Server 연결 문제 해결

SQL 인증에 연결할 수없고 다른 솔루션을 시도한 경우

다음을 시도해보십시오.

연결 확인

  • 방화벽을 비활성화하십시오.
  • 1434에서 PortQry를 실행하고 답을 확인하십시오.

상태 확인

  • SSMS 또는 sqlcmd에 연결하고 메시지를 확인하십시오.
  • 상태 1은 거의 문서화되지 않았지만 실제 상태를 알 권리가 없다는 의미입니다.
  • SQL Server 디렉토리의 로그 파일을보고 상태를 확인하십시오.

상태 5

뭐 ? 내 로그인이 존재하지 않습니까? SSMS에서 볼 수 있습니다. 어떻게 할 수 있습니까?

가장 가능성이 높은 설명은 가장 옳은 설명 일 가능성이 높습니다.

로그인 상태

  • 파괴하고 다시 만들고 활성화하십시오.
  • 비밀번호를 재설정하십시오.

또는...

"당신은 옳은 곳을 보지 않는다"또는 "당신이 보는 것은 당신이 생각하는 것이 아닙니다".

로컬 DB 및 SQLEXPRESS 충돌

Windows 인증과 SSMS와 연결하고 인스턴스가 SQLEXPRESS라는 이름의 경우, 당신은 아마보고있는 LocalDb올바른 서버를하지 . 그래서 방금 LocalDb에 로그인을 만들었습니다.

SSMS를 사용하여 SQL Server 인증을 통해 연결하면 사용자가 선호하는 로그인이없는 SQLEXPRESS 실제 서버에 연결을 시도합니다.

추가 사항 : 이상한 연결 문자열을 잊어 버린 경우 연결 매개 변수 탭을 확인하십시오.


0

나는 같은 문제에 직면했다. 혼합 모드 인증을 먼저 활성화해야합니다. 자세한 내용은 혼합 모드 인증을 활성화하는 방법


링크에 답변이있을 수 있지만 답변을 수정하고 자세한 내용을 제공하거나 부정적인 투표를 할 위험이 있습니다
Tae

0

나를 위해 또 다른 효과가있는 솔루션. serever->security->logins->new logins->General->로그인 이름으로 사용자 이름을 만들고 SQL Server 인증을 클릭하십시오. 비밀번호 추가

비밀번호 확인 3 개의 확인란을 선택 취소합니다. 작동합니다.

> 보안에서 - Remeber 서버 속성 변경 Server authentication에를SQL Server and Windows Authentication mode


0

당신은 리눅스에서 MSSQL에 대한 sa 계정 암호 변경을 위해 할 수 있습니다

sudo / opt / mssql / bin / mssql-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.

0

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

연결이 끊긴 환경에서 useradmin 을 사용하면 SQL Server 인증을 사용하여 다른 사용자를 만들 수 있지만 로그인을 시도하자마자

Microsoft SQL Server 오류 : 18456

문제를 해결하려면 조직 네트워크에 다시 연결하고 연결되어있는 동안 사용자를 생성하면 연결이 끊어지고 작동합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.