programing

SQL 서버 로그인에 연결하는 데 문제가 발생했습니다."로그인이 신뢰할 수 없는 도메인에서 왔으며 Windows 인증과 함께 사용할 수 없습니다."

iphone6s 2023. 7. 1. 08:08
반응형

SQL 서버 로그인에 연결하는 데 문제가 발생했습니다."로그인이 신뢰할 수 없는 도메인에서 왔으며 Windows 인증과 함께 사용할 수 없습니다."

SQL 서버 데이터베이스를 호스트하려고 하는데 연결할 때마다 다음 오류가 발생합니다.

신뢰할 수 없는 도메인의 로그인이므로 윈도우즈 인증과 함께 사용할 수 없습니다.

다음 명령을 사용하여 Matlab을 통해 연결합니다.

conn = database('Clinical_Data','DoyleLab07\Acc','','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqlserver://DOYLELAB07\SQLEXPRESS:54287;database=Clinical_Data;integratedSecurity=true;').

서버를 호스팅하기 위해 사용하던 컴퓨터에서 matlab을 사용하는 한 matlab을 사용하여 데이터베이스에 연결하는 것은 정상적으로 작동했습니다.그러나 다른 컴퓨터와 동일한 Matlab 명령을 사용할 때 위에 표시된 오류가 발생합니다.

제어판 아래를 보면\system.호스트 PC 또는 호스트에 연결하는 데 사용하는 PC에 도메인이 나열되지 않았지만 두 컴퓨터가 동일한 작업 그룹에 있습니다.도메인을 만들고 해당 도메인에 외부 PC와 호스트를 추가하여 문제를 해결할 수 있습니까?그렇다면 어떻게 이를 달성할 수 있습니까?

어떤 제안이든 매우 감사하겠습니다.제 게시물을 읽어주셔서 감사합니다.

Integrated Security=true저를 위해 일했습니다.

Windows Authentication을 사용하려면 다음 두 가지 중 하나가 충족되어야 합니다.

  1. 데이터베이스 서버와 동일한 컴퓨터에서 실행 중입니다.
  2. Active Directory 환경이 있고 응용 프로그램이 실행 중인 사용자(일반적으로 로그인한 사용자)에게 해당 데이터베이스에 연결할 권한이 있습니다.

두 가지 모두 사실이 아닐 경우 다음 두 가지 중 하나를 수행해야 합니다.

  1. 윈도우즈 도메인 컨트롤러를 설정하고 모든 관련 시스템을 해당 컨트롤러에 연결한 다음 도메인 계정을 사용하도록 SQL 서버를 수정합니다. 또는,
  2. 윈도우즈 및 SQL 서버 계정을 모두 사용하도록 SQL 서버를 변경합니다.

단연 가장 쉬운 방법은 윈도우즈 및 SQL 서버 계정을 모두 사용하도록 SQL 서버를 변경하는 것입니다.그런 다음 DB 서버에 SQL 서버 사용자를 생성하고 연결 문자열을 변경하면 됩니다.

모범 사례 옵션 1은 설치 및 구성에 꼬박 하루가 소요됩니다.옵션 2는 약 5분 정도 소요됩니다.

SQL Server가 한 도메인 컨트롤러에 있고 다른 도메인 컨트롤러에서 연결하려고 하면 다음과 같은 오류가 발생합니다.

IntegratedSecurity = true;

연결 문자열에 유효한 SQL Server 사용자 이름 및 암호를 포함하더라도 Windows 로그인 및 암호로 자동으로 덮어쓰므로 이러한 문제가 발생합니다.통합 보안은 SQL Server 로그인 확인을 위해 Windows 자격 증명을 사용하는 것을 의미합니다.따라서 다른 도메인 컨트롤러에 로그인하면 로그인이 실패합니다.두 개의 서로 다른 도메인 컨트롤러에 있는 경우에는

IntegratedSecurity = false;

이제 통합 보안이 잘못된 경우 SQL Server는 연결 문자열에 제공된 SQL Server 로그인 및 암호를 사용합니다.이 기능이 작동하려면 SQL Server 인스턴스의 인증 모드가 SQL Server 및 윈도우즈 인증 모드인 혼합 모드로 구성되어 있어야 합니다.

SQL Server에서 이 설정을 확인하거나 변경하려면 SQL Server Management Studio를 열고 서버 이름을 마우스 오른쪽 단추로 클릭한 다음 Properties를 선택합니다.나타나는 팝업에서 보안을 선택하면 필요한 경우 이 설정을 변경할 위치가 표시됩니다.

DNS 별칭과 호스트 파일을 사용하여 다른 도메인 이름을 사용하는 컴퓨터에 연결할 때도 이와 같은 문제가 발생했습니다.

예를 들어, "SQL 서버"라는 .sql1mydomain.com 도메인은 .net 에 "Active Directory" mydomain에 CNAME 별칭)했습니다.net 에 대한 DNS 영역도 가지고 있으며 일관성을 위해 다음에 대한 DNS 별칭(CNAME) 레코드를 설정합니다.database.mydomain.net --> sql1.mydomain.com

에연할수다있에 하실 수 sql1.mydomain.com보안을 하지만 Windows에 할 수 database.mydomain.net 도메인 이름이 AD 도메인과 일치하지 않기 때문에 동일한 서버임에도 불구하고

이 오류 메시지는 SQL 서버에 액세스하는 데 사용 중인 계정이 도메인에 의해 잠겨 있는 경우에도 발생할 수 있습니다.

SQL Always On Listener에 연결하는 동안 문제가 발생했습니다.루프백 검사를 사용하지 않도록 설정하면 문제가 해결됩니다.

  1. regedit을 사용하여 레지스트리를 편집합니다.(시작 –> 실행 > 등록 )

  2. 로 이동합니다.HKLM\System\CurrentControlSet\Control\LSA

  3. 추가DWORD“DisableLoopbackCheck”

  4. 을 " " " 로 합니다.1

https://blog.sqlauthority.com/2017/04/18/sql-server-login-failed-login-untrusted-domain-cannot-used-windows-authentication/

여기서 언급한 것처럼 루프백을 사용하지 않도록 설정해야 할 수 있습니다.

다음과 같이 레지스트리 항목을 추가하여 루프백 검사를 제거할 수 있습니다.

  • regedit을 사용하여 레지스트리를 편집합니다.(시작 –> 실행 > 등록 )
  • HKLM\System\으로 이동합니다.전류 제어 세트\제어\LSA
  • "DisableLoopbackCheck"라는 DWORD 값을 추가합니다. 이 값을 1로 설정합니다.

Windows 인증을 사용하는 경우 사용자의 암호가 만료되지 않았는지 확인합니다.만료된 암호가 이 오류를 설명할 수 있습니다.이것이 제 경우의 문제였습니다.

SQL Server 계정을 사용하고 사용자 이름과 암호를 모두 전달하는 것은 어떻습니까?

여기 그 이유가 있습니다.

간단히 말해서 인증 문제가 있는 것 같습니다.

작업 그룹의 문제는 Active Directory(AD)와 같은 일반적인 액세스 제어 목록이 없다는 것입니다.ODBC 또는 JDBC를 사용하는 경우 잘못된 자격 증명이 전달됩니다.

SQL Express(SE\LWA)가 설치된 시스템(SE)에 로컬 윈도우즈 계정(LWA)을 생성하더라도 클라이언트 시스템(CM)에서 전달되는 자격 증명은 CM\LWA가 됩니다.

Visual Studio 개발 환경에서 연결 문자열과 동일한 오류 발생

최근 개발 데이터베이스 서버에 자체 서명 인증서가 부여되어 자동으로 신뢰할 수 없게 되었습니다.이로 인해 위에 언급된 로그인 오류가 발생했습니다.추가했습니다.TrustServerCertificate=True연결 문자열에 연결하면 이제 작동합니다.

"Server=TheServerAddress; Database=TheDataBase; User Id=TheUsername; Password=ThePassword; TrustServerCertificate=True"

참고: 이 인증서 구성은 프로덕션 환경에 권장되지 않습니다.

이 경우 SQL Native Client 11.0 구성 내의 별칭이 잘못된 서버/IP를 가리켰습니다.업데이트가 완료되면 올바르게 작동합니다.

확인 방법: 1. "SQL Server Configuration Manager"를 시작합니다. 2. "SQL Native Client 11.0 Configuration"으로 이동한 다음 "Alias Name"과 "Server"가 TCP/IP에 대해 올바르게 일치하는지 확인합니다.

Windows Authentication을 사용하여 다른 컴퓨터에서 SQL Server에 액세스할 수 있도록 다음 작업을 수행했습니다.이 접근 방식은 개발/테스트 환경에서만 유용할 수 있습니다.예: 작업 중인 컴퓨터에서 암호를 변경한 후 수동으로 암호를 업데이트해야 합니다.

SQL Server가 있는 시스템에서 제어판으로 이동하여 작업 중인 시스템과 동일한 사용자 이름과 암호를 가진 새 윈도우즈 사용자를 추가합니다.그런 다음 이 사용자에 대한 SQL Server 로그인을 만듭니다.

CREATE LOGIN [SQLSERVERHOST\myuser] FROM WINDOWS;

이제 이 로그인을 Windows 인증에 사용할 수 있습니다.

'로그인이 신뢰할 수 없는 도메인에서 왔습니다' 오류가 표시되면 작업 중인 컴퓨터에서 암호를 변경했으므로 SQL Server 컴퓨터에서 암호를 업데이트해야 할 수 있습니다.

해결책에 대한 제안을 추가하기 위해 개발 및 테스트를 위한 VM 서버 복사본을 가지고 있었습니다. 데이터베이스에 'sa'가 소유권을 가지고 있는 데이터베이스를 생성했습니다.

그런 다음 데이터베이스를 활성 VM 서버에 복원했지만 데이터가 여전히 올바르게 반환되고 있음에도 동일한 오류가 발생했습니다.'sa' 사용자 매핑을 검색했는데 매핑을 적용하려고 할 때 데이터베이스에 매핑되지 않은 것을 확인할 수 있었습니다. "Fix: 특수 주체 'sa'를 사용할 수 없습니다."라는 오류가 발생했습니다.Microsoft SQL Server, 오류: 15405". 그래서 저는 대신 이것을 대신 실행했습니다.

데이터베이스에 대한 다른 권한 부여::dbname Tosa

나는 사용자 매핑을 다시 확인했고 그것은 이제 내 DB에 할당되었고 그것은 나에게 많은 접근 문제를 해결했습니다.

WORKORK에 가입한 다음 도메인에 다시 가입하면 이 문제가 해결되었습니다.

Virtual Box VM을 사용하는 동안 이 오류가 발생했습니다.VM 파일을 새 드라이브 위치나 컴퓨터로 이동하면서 문제가 발생하기 시작했습니다.

VM 사용자에게 도움이 되길 바랍니다.

제가 제거했습니다.Integrated Security=true그리고.Trusted_Connection=True둘 다 저를 위해 일했습니다.

이제 암호를 정기적으로 변경하는 권한 있는 계정 관리 솔루션을 사용합니다.비밀번호가 변경된 후 이 오류가 발생했습니다.새로운 비밀번호로 SSMS를 닫았다가 다시 열어서 문제가 해결되었습니다.

'Windows 인증'을 사용하여 SSMS에 로그인하려고 할 때 이 오류가 발생했습니다.Windows SQL 서버의 이름을 변경한 후부터 이러한 현상이 발생하기 시작했습니다.저는 이 오류를 해결하기 위해 모든 노력을 기울였으며, 특히 저의 경우 SQL 서버 이름 변경을 반영하여 'hosts' 파일의 시스템 이름을 변경하여 문제를 해결했습니다.C:\Windows\시스템32\드라이버\etc\hosts

이전 서버의 DNS 이름을 사용하여 새 서버에 폰팅하기 때문에 이 문제가 발생했습니다.newserver\inst1 주소를 사용하여 작동했습니다. newserver\inst1과 oldserver\inst1 모두 동일한 IP를 가리켰습니다.

하지만 또 다른 확인 사항:

다른 개발자가 QA 서버에 원격으로 액세스하여 한낮에 복원 작업을 시작하려고 했지만 "신뢰할 수 없는 도메인" 메시지와 함께 실패한 후 야간 QA 복원 작업이 갑자기 중단되었습니다.작업의 유지 관리 계획으로 지목된 서버가 로컬 시스템의 이름 대신 IP 주소를 사용하여 (변경되었습니까?).컴퓨터 이름으로 대체하면서 문제가 해결되었습니다.

TLDR: DNS 서버를 루프백 주소로 변경하는 것이 저에게 효과가 있었습니다.

저는 VirtualBox에서 일하고 있으며 두 개의 Windows Server 2016 인스턴스를 설정했습니다.서버 A는 도메인 컨트롤러로 구성되고 서버 B는 SQL 서버로 구성됩니다.서버 B를 도메인에 추가한 후 서버 A에서 Management Studio로 연결할 수 없습니다."로그인이 신뢰할 수 없는 도메인에서 왔으며 Windows 인증과 함께 사용할 수 없습니다."라는 메시지를 받았습니다.

초기 구성에서는 서버가 VirtualBox DHCP 서버에서 IP를 가져오도록 했습니다.

정적 IP를 사용하도록 이 주소를 변경하고 기본 DNS에 127.0.0.1 주소를 입력했는데 이것이 제대로 작동했습니다.

이것이 지나가는 누군가에게 도움이 되기를 바랍니다.

연결 속성에서 신뢰 서버 인증서를 사용하도록 설정했는데 작동했습니다.

connection properties

둘 이상의 연결 문자열이 있고 다른 연결 문자열을 통합 보안으로 false로 변경하는 것을 잊었을 수 있습니다.그 일이 내게 일어났다.이 대답은 누군가에게 도움이 될 수 있습니다.

저는 웹 구성과 액세스 권한에 초점을 맞추고 있었습니다. 제 수업 중 하나에 이메일을 위한 다른 연결 문자열이 있다는 것을 기억한 후, 저는 웹 구성을 사용하기 위해 수업의 연결 문자열을 변경해야 했습니다.

.net Core에서도 Trusted_Connection=일 경우 이 오류가 발생할 수 있습니다.True; 설정되었습니다.appsettings.json의 샘플 설정

ConnectionStrings": {
"DefaultConnection": "Server=serverName; Database=DbName; uid=userId; pwd=password; MultipleActiveResultSets=true"

},

때때로 SSMS가 갑자기 중단되고 닫히면 SSMS에 다시 연결할 때 아래 오류가 발생합니다.

로그인이 신뢰할 수 없는 도메인에서 왔으며 윈도우즈 인증과 함께 사용할 수 없음

OR

ii) 대상 주체 이름이 잘못되었습니다.SSPI 컨텍스트를 생성할 수 없습니다.

모두 두경우 모두모 두▁in.RESTART YOUR MACHINE.

저도 비슷한 오류가 있었지만 시스템의 암호를 변경하여 이 오류를 일으켰다는 것을 깨달았습니다.

해결하기 위해 현재 세션에서 로그아웃하고 다시 로그인하고 이번에

이 연결 URL을 사용하십시오. 정상 작동 "데이터 소스=사용자의 IP 주소;초기 카탈로그 = 데이터베이스 이름;사용자 ID = sa; 비밀번호 = 본인의 비밀번호;TrustServerCertificate=True"

예: "데이터 소스=192.168.150.122;초기 카탈로그=CatalogDb; 사용자 ID=sa; PassWord=123;TrustServerCertificate=True"

TrustServerCertificate="true" 추가

MSMS의 유사 옵션

명령줄 실행 시에도

ipconfig /flushdns
klist purge

동일한 도메인에 두 대의 서버(예: APP 및 DB)가 있는 경우 두 대의 컴퓨터에서 일치하는 로컬 사용자(동일한 사용자 이름 및 암호)를 설정하여 앱과 MSSQL 간에 Windows 인증을 사용할 수도 있습니다.일치하는 암호가 없으면 이 오류가 발생할 수 있습니다.

저는 팔로잉이 효과가 있었습니다.이것이 당신에게 도움이 되기를 바랍니다.

<add name="getconn" connectionString="Data Source=servername;Initial Catalog=DBName;Persist Security Info=True;User ID=sa;Password=***" />

언급URL : https://stackoverflow.com/questions/18603696/trouble-connecting-to-sql-server-login-failed-the-login-is-from-an-untrusted-d

반응형