클라이언트 연결(ODBC)의 SPN(서비스 사용자 이름)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
Important
SNAC(SQL Server Native Client)는 다음과 함께 제공되지 않습니다.
- SQL Server 2022(16.x) 이상 버전
- SQL Server Management Studio 19 이상 버전
SQL Server Native Client(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 새로운 응용 프로그램 개발에 권장되지 않습니다.
새 프로젝트의 경우 다음 드라이버 중 하나를 사용합니다.
SQL Server 데이터베이스 엔진(버전 2012부터 2019까지)의 구성 요소로 제공되는 SQLNCLI의 경우 이 수명 주기 예외 지원을 참조하세요.
이 항목에서는 클라이언트 애플리케이션에서 SPN(서비스 사용자 이름)을 지원하는 ODBC 특성 및 함수에 대해 설명합니다. 클라이언트 애플리케이션 의 SPN에 대한 자세한 내용은 클라이언트 연결 의 SPN(서비스 사용자 이름) 지원 및 상호 Kerberos 인증 가져오기를 참조하세요.
연결 문자열 키워드
다음 연결 문자열 키워드를 사용하면 클라이언트 애플리케이션에서 SPN을 지정할 수 있습니다.
키워드 | 값 |
---|---|
ServerSPN | 서버의 SPN입니다. 기본값은 빈 문자열로, SQL Server Native Client에서 드라이버에서 생성된 기본 SPN을 사용합니다. |
FailoverPartnerSPN | 장애 조치(failover) 파트너의 SPN입니다. 기본값은 빈 문자열로, SQL Server Native Client에서 드라이버에서 생성된 기본 SPN을 사용합니다. |
연결 특성
다음 연결 특성을 사용하면 클라이언트 애플리케이션에서 SPN을 지정하고 인증 방법을 쿼리할 수 있습니다.
속성 | Type | 사용 |
---|---|---|
SQL_COPT_SS_SERVER_SPN SQL_COPT_SS_FAILOVER_PARTNER_SPN |
SQLTCHAR, 읽기/쓰기 | 서버의 SPN을 지정합니다. 기본값은 빈 문자열로, SQL Server Native Client에서 드라이버에서 생성된 기본 SPN을 사용합니다. 이 특성은 프로그래밍 방식으로 설정된 후 또는 연결이 열린 후에만 쿼리할 수 있습니다. 열려 있지 않은 연결에서 이 특성을 쿼리하거나 특성이 프로그래밍 방식으로 설정되지 않은 경우 SQL_ERROR가 반환되고 SQLState 08003 및 "연결을 열 수 없습니다"라는 메시지가 표시되며 진단 레코드가 기록됩니다. 연결이 열려 있을 때 이 특성을 설정하려고 하면 SQL_ERROR 반환되고 진단 레코드가 SQLState HY011 및 "현재 작업이 잘못되었습니다"라는 메시지와 함께 기록됩니다. |
SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD | SQLTCHAR, 읽기 전용 | 연결에 사용되는 인증 방법을 반환합니다. 애플리케이션에 반환되는 값은 Windows가 SQL Server Native Client로 반환하는 값입니다. 가능한 값은 다음과 같습니다. NTLM 인증을 사용하여 연결을 열 때 반환되는 "NTLM" Kerberos 인증을 사용하여 연결을 열 때 반환되는 "Kerberos"입니다. 이 특성은 Windows 인증을 사용한 열린 연결에 대해서만 읽을 수 있습니다. 연결이 열리기 전에 읽기를 시도하면 SQL_ERROR 반환되고 SQLState 08003과 "연결이 열려 있지 않음" 메시지와 함께 오류가 기록됩니다. Windows 인증을 사용하지 않은 연결에서 이 특성을 쿼리하면 SQL_ERROR 반환되고 SQLState HY092 및 "잘못된 특성/옵션 식별자(SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD 신뢰할 수 있는 연결에만 사용할 수 있음)"라는 메시지와 함께 오류가 기록됩니다. 인증 방법을 확인할 수 없는 경우 SQL_ERROR가 반환되고 SQLState HY000 및 "일반 오류"라는 메시지가 표시되며 오류가 기록됩니다. |
SQL_COPT_SS_MUTUALLY_AUTHENTICATED | SQLSMALLINT, 읽기 전용 | 연결의 서버가 상호 인증된 경우 SQL_TRUE 반환합니다. 그렇지 않으면 SQL_FALSE 반환합니다. 이 특성은 열린 연결에 대해서만 읽을 수 있습니다. 연결이 열리기 전에 읽기를 시도하면 SQL_ERROR 반환되고 SQLState 08003과 "연결이 열려 있지 않음" 메시지와 함께 오류가 기록됩니다. Windows 인증을 사용하지 않은 연결에 대해 이 특성을 쿼리하면 SQL_FALSE 반환됩니다. |
SPN 지정에 대한 ODBC 함수 지원
다음 ODBC 함수는 클라이언트 애플리케이션 및 SPN을 지원합니다.