연결 문자열에서 Trusted_Connection과 통합 보안의 차이점은 무엇입니까?


81

SQL Server 연결 문자열에서 "Trusted_Connection"토큰과 "Integrated Security"토큰의 차이점이 궁금합니다 (다른 데이터베이스 / 드라이버는이를 지원하지 않는다고 생각합니다). 나는 그들이 동등하다는 것을 이해합니다.

답변:


100

그것들은 서로 동의어이며 서로 바꿔서 사용할 수 있습니다.

.Net에는 SqlConnectionStringBuilder 라는 클래스가 있습니다.이 클래스는 유형 안전 속성을 사용하여 문자열의 일부를 구성하는 SQL Server 연결 문자열 을 처리하는 데 매우 유용 합니다. 이 클래스는 한 값에서 다른 값으로 매핑 할 수 있도록 내부 동의어 목록을 유지합니다.

+ ---------------------- + ------------------------- +
| 가치 | 동의어 |
+ ---------------------- + ------------------------- +
| 앱 | 응용 프로그램 이름 |
| 비동기 | 비동기 처리 |
| 확장 속성 | attachdbfilename |
| 초기 파일 이름 | attachdbfilename |
| 연결 시간 초과 | 연결 제한 시간 |
| 시간 초과 | 연결 제한 시간 |
| 언어 | 현재 언어 |
| addr | 데이터 소스 |
| 주소 | 데이터 소스 |
| 네트워크 주소 | 데이터 소스 |
| 서버 | 데이터 소스 |
| 데이터베이스 | 초기 카탈로그 |
| trusted_connection | 통합 보안 |
| 연결 수명 | 로드 밸런스 제한 시간 |
| 그물 | 네트워크 라이브러리 |
| 네트워크 | 네트워크 라이브러리 |
| pwd | 암호 |
| persistsecurityinfo | 보안 정보 유지 |
| uid | 사용자 ID |
| 사용자 | 사용자 ID |
| wsid | 워크 스테이션 ID |
+ ---------------------- + ------------------------- +

(Reflector의 도움으로 편집)

ODBCOleDb 연결 문자열 을 처리하기위한 다른 유사한 클래스가 있지만, 불행히도 다른 데이터베이스 공급 업체에게는 해당되지 않습니다. 이러한 구현을 제공하기위한 책임은 공급 업체의 라이브러리에 있다고 가정합니다.


이에 대한 향후 관중을위한 참고 사항 : Trusted Connection은 Sql Server 2014에서 저에게 적합하지 않습니다.하지만 통합 보안은 가능합니다.
Stachu 2014

4
2014 SQL 익스프레스에 나는 trusted_connection를 사용하고 있으며 노력하고 있습니다 ... underscorec을하시기 바랍니다 참고하면 trusted_connection 사용할 때 "예"가 아니라 "true"로보다 사용하기가
조란 P.

10

그들은 동일합니다.

안타깝게도 다음과 같은 몇 가지 변형이 있습니다.

서버 / 데이터 소스

데이터베이스 / 초기 카탈로그

변형의 기원을 잘 모르겠습니다. 일부는 일반적인 것으로 가정합니다 (데이터베이스 중심이 아니므로 RDBMS에 연결하는 경우와 디렉터리 서비스에 연결하는 경우 연결 문자열이 매우 비슷해 보입니다.).


이 용어 catalog는 관계형 데이터베이스 명명법의 일부이며 RDBMS 외에는 아무 것도 언급하지 않습니다. 이 SO 답변에서 꽤 잘 설명됩니다. stackoverflow.com/questions/7022755/…
ProfK

2

그래서 조금 후에 이름 충돌의 기원을 발견했습니다. ODBC 및 OLEDB에 대해 정의 된 다른 집합에 의해 토큰 집합이 사용되었습니다. 레거시 이유로 Sql Server의 경우 여전히 두 가지를 상호 교환 적으로 지원합니다.

Trusted_Connection = true는 ODBC이고 Integrated Security = SSPI는 OLEDB입니다.


1
connectionstrings.com/sql-server 는 둘 중 하나가 OLEDB에서 작동한다고 말하는 것 같습니다. 다른 리소스가 있습니까?
AlignedDev

1

제 경우에는 "Trusted_Connection"과 "통합 보안"의 차이점을 발견했습니다. Microsoft SQL Server 2005를 사용하고 있습니다. 원래 Windows 로그온 (통합 보안 = SSPI)을 사용했습니다. 그러나 Windows 인증을 SQL Server 인증으로 교체했을 때 사용자 ID와 암호를 추가하면 SSPI를 "False"로 교체하는 데 실패했습니다. "다단계 OLE DB 작업 생성 오류"를 반환했습니다. 그러나 "Integrated Security = False"를 "Trusted_Connection = no"로 바꾸면 작동했습니다.


SQL Server 인증을 사용하고 사용자 ID와 암호를 지정하는 경우 "통합 보안"또는 "trusted_connections"를 언급 할 필요가 없습니다.
grahamesd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.