초기화 및 권한 부여 속성(네이티브 클라이언트 OLE DB 공급자)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
Important
SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.
SQL Server Native Client OLE DB 공급자는 다음과 같이 OLE DB 초기화 및 권한 부여 속성을 해석합니다.
속성 ID | Description |
---|---|
DBPROP_AUTH_CACHE_AUTHINFO | SQL Server Native Client OLE DB 공급자는 인증 정보를 캐시하지 않습니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_AUTH_ENCRYPT_PASSWORD | SQL Server Native Client OLE DB 공급자는 표준 Microsoft SQL Server 보안 메커니즘을 사용하여 암호를 숨깁니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_AUTH_INTEGRATED | DBPROP_AUTH_INTEGRATED NULL 포인터, null 문자열 또는 'SSPI' VT_BSTR 값으로 설정된 경우 SQL Server Native Client OLE DB 공급자는 Windows 인증 모드를 사용하여 DBPROP_INIT_DATASOURCE 및 DBPROP_INIT_CATALOG 속성으로 지정된 SQL Server 데이터베이스에 대한 사용자 액세스 권한을 부여합니다. VT_EMPTY(기본값)로 설정되면 SQL Server 보안이 사용됩니다. SQL Server 로그인 및 암호는 DBPROP_AUTH_USERID 및 DBPROP_AUTH_PASSWORD 속성에 지정됩니다. |
DBPROP_AUTH_MASK_PASSWORD | SQL Server Native Client OLE DB 공급자는 표준 SQL Server 보안 메커니즘을 사용하여 암호를 숨깁니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_AUTH_PASSWORD | SQL Server 로그인에 할당된 암호입니다. 이 속성은 SQL Server 데이터베이스에 대한 액세스 권한을 부여하기 위해 SQL Server 인증을 선택한 경우 사용됩니다. |
DBPROP_AUTH_PERSIST_ENCRYPTED | SQL Server Native Client OLE DB 공급자는 유지되는 경우 인증 정보를 암호화하지 않습니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO | SQL Server Native Client OLE DB 공급자는 요청된 경우 암호 이미지를 포함하여 인증 값을 유지합니다. 암호화는 제공되지 않습니다. |
DBPROP_AUTH_USERID | SQL Server 로그인입니다. 이 속성은 SQL Server 데이터베이스에 대한 액세스 권한을 부여하기 위해 SQL Server 인증을 선택한 경우 사용됩니다. |
DBPROP_INIT_ASYNCH | SQL Server Native Client OLE DB 공급자는 비동기 시작을 지원합니다. DBPROP_INIT_ASYNCH 속성에 DBPROPVAL_ASYNCH_INITIALIZE 비트를 설정하면 IDBInitialize::Initialize는 비블로킹 호출이 됩니다. 자세한 내용은 비동기 작업 수행을 참조하세요. |
DBPROP_INIT_CATALOG | 연결할 기존 SQL Server 데이터베이스의 이름입니다. |
DBPROP_INIT_DATASOURCE | Microsoft SQL Server 인스턴스를 실행하는 서버의 네트워크 이름입니다. 컴퓨터에서 여러 SQL Server 인스턴스가 실행 중인 경우 특정 SQL Server 인스턴스에 연결하기 위해 DBPROP_INIT_DATASOURCE 값은 \\ServerName\InstanceName으로 지정됩니다. 이스케이프 시퀀스 \\는 백슬래시 자체에 대해 사용됩니다. |
DBPROP_INIT_GENERALTIMEOUT | 데이터 원본 초기화 및 명령 실행 이외의 요청 전 시간(초)을 나타냅니다. 값이 0이면 시간 제한이 없음을 나타냅니다. 네트워크 연결 또는 분산 또는 거래 시나리오에서 작업하는 공급자는 이 속성을 지원하여 장기 실행 요청이 발생할 경우 참여 구성 요소에 시간 초과를 권고할 수 있습니다. 데이터 원본 초기화 및 명령 실행에 대한 제한 시간은 계속 각각 DBPROP_INIT_TIMEOUT과 DBPROP_COMMANDTIMEOUT에 의해 결정됩니다. DBPROP_INIT_GENERALTIMEOUT은 읽기 전용이며, 이를 설정하려고 하면 DBPROPSTATUS_NOTSETTABLE의 dwstatus 오류가 반환됩니다. |
DBPROP_INIT_HWND | 호출 애플리케이션의 Windows 핸들입니다. 유효한 창 핸들은 초기화 속성 요청이 허용될 때 표시되는 초기화 대화 상자에 필요합니다. |
DBPROP_INIT_IMPERSONATION_LEVEL | SQL Server Native Client OLE DB 공급자는 가장 수준 조정을 지원하지 않습니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_INIT_LCID | SQL Server Native Client OLE DB 공급자는 로캘 ID의 유효성을 검사하고 로캘 ID가 지원되지 않거나 클라이언트에 설치되지 않은 경우 오류를 반환합니다. |
DBPROP_INIT_LOCATION | SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_INIT_MODE | SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_INIT_PROMPT | SQL Server Native Client OLE DB 공급자는 데이터 원본 초기화를 위한 모든 프롬프트 모드를 지원합니다. SQL Server Native Client OLE DB 공급자는 DBPROMPT_NOPROMPT 속성의 기본 설정으로 사용합니다. |
DBPROP_INIT_PROTECTION_LEVEL | SQL Server Native Client OLE DB 공급자는 SQL Server 인스턴스에 대한 연결에 대한 보호 수준을 지원하지 않습니다. SQL Server Native Client OLE DB 공급자는 속성 값을 설정하려고 시도하면 DB_S_ERRORSOCCURRED 반환합니다. DBPROP 구조의 dwStatus 멤버는 DBPROPSTATUS_NOTSUPPORTED를 나타냅니다. |
DBPROP_INIT_PROVIDERSTRING | 이 항목의 뒷부분에 있는 SQL Server Native Client OLE DB 공급자 문자열을 참조하세요. |
DBPROP_INIT_TIMEOUT | SQL Server Native Client OLE DB 공급자는 지정된 시간(초) 내에 SQL Server 인스턴스에 대한 연결을 설정할 수 없는 경우 초기화 시 오류를 반환합니다. |
공급자별 속성 집합 DBPROPSET_SQLSERVERDBINIT SQL Server Native Client OLE DB 공급자는 이러한 추가 초기화 속성을 정의합니다.
속성 ID | 설명 |
---|---|
SSPROP_AUTH_OLD_PASSWORD | 유형: VT_BSTR R/W: 쓰기 Default: VT_EMPTY 설명: 현재 또는 만료된 암호입니다. 자세한 내용은 프로그래밍 방식으로 암호 변경을 참조하세요. |
SSPROP_INIT_APPNAME | 유형: VT_BSTR R/W: 읽기/쓰기 설명: 클라이언트 애플리케이션 이름입니다. |
SSPROP_INIT_AUTOTRANSLATE | 유형: VT_BOOL R/W: 읽기/쓰기 Default: VARIANT_TRUE 설명: OEM/ANSI 문자 변환입니다. VARIANT_TRUE: SQL Server Native Client OLE DB 공급자는 클라이언트와 서버의 코드 페이지 간에 확장 문자를 일치시키는 문제를 최소화하기 위해 유니코드를 통해 변환하여 클라이언트와 서버 간에 전송된 ANSI 문자 문자열을 변환합니다. SQL Server문자, varchar 또는 텍스트 변수, 매개 변수 또는 열 인스턴스로 전송되는 클라이언트 DBTYPE_STR 데이터는 클라이언트 ANSI 코드 페이지(ACP)를 사용하여 문자에서 유니코드로 변환된 다음 서버의 ACP를 사용하여 유니코드에서 문자로 변환됩니다. 클라이언트 DBTYPE_STR 변수로 전송된 SQL Server char, varchar 또는 text 데이터는 서버 ACP를 사용하여 문자에서 유니코드로 변환된 후 클라이언트 ACP를 사용하여 유니코드에서 문자로 변환됩니다. 이러한 변환은 SQL Server Native Client OLE DB 공급자가 클라이언트에서 수행합니다. 이를 위해서는 서버에 사용된 것과 동일한 ACP를 클라이언트에서 사용할 수 있어야 합니다. 이러한 설정은 다음 전송에 대해 발생하는 변환에는 영향을 미치지 않습니다. 서버의 char, varchar 또는 text로 전송된 유니코드 DBTYPE_WSTR 클라이언트 데이터. 클라이언트의 유니코드 DBTYPE_WSTR 변수에 전송된 char, varchar 또는 text 서버 데이터. 서버의 유니코드 nchar, nvarchar 또는 ntext로 전송된 ANSI DBTYPE_STR 클라이언트 데이터. 클라이언트의 ANSI DBTYPE_STR 변수로 전송된 유니코드 char, varchar 또는 text 서버 데이터. VARIANT_FALSE: SQL Server Native Client OLE DB 공급자는 문자 번역을 수행하지 않습니다. SQL Server Native Client OLE DB 공급자는 서버의 char, varchar 또는 텍스트 변수, 매개 변수 또는 열로 전송된 데이터를 DBTYPE_STR 클라이언트 ANSI 문자를 변환하지 않습니다. 서버에서 클라이언트의 DBTYPE_STR 변수로 전송된 char, varchar 또는 text 데이터에 대해 변환이 수행되지 않습니다. 클라이언트와 SQL Server 인스턴스가 서로 다른 ACP를 사용하는 경우 확장 문자가 잘못 해석될 수 있습니다. |
SSPROP_INIT_CURRENTLANGUAGE | 유형: VT_BSTR R/W: 읽기/쓰기 설명: SQL Server 언어 이름입니다. 시스템 메시지 선택 및 서식 지정에 사용되는 언어를 식별합니다. 언어는 SQL Server 인스턴스를 실행 중인 컴퓨터에 설치되어 있어야 하며 그렇지 않은 경우 데이터 원본 초기화가 실패합니다. |
SSPROP_INIT_DATATYPECOMPATIBILITY | 유형: VT_UI2 R/W: 읽기/쓰기 Default: 0 설명: SQL Server와 ADO(ActiveX Data Object) 애플리케이션 간에 데이터 형식이 호환되도록 합니다. 기본값인 0을 사용할 경우 공급자에서 사용되는 데이터 형식 처리가 기본 데이터 형식 처리가 됩니다. 값에 80을 사용하면 데이터 형식 처리는 SQL Server 2000(8.x) 데이터 형식만 사용합니다. 자세한 내용은 SQL Server Native Client에서 ADO 사용을 참조 하세요. |
SSPROP_INIT_ENCRYPT | 유형: VT_BOOL R/W: 읽기/쓰기 Default: VARIANT_FALSE 설명: 네트워크를 통해 데이터를 암호화하려면 SSPROP_INIT_ENCRYPT 속성이 VARIANT_TRUE 설정됩니다. 프로토콜 암호화 사용이 설정되면 SSPROP_INIT_ENCRYPT 설정에 관계없이 암호화가 항상 발생합니다. 꺼져 있고 SSPROP_INIT_ENCRYPT VARIANT_TRUE 설정되면 암호화가 발생합니다. 프로토콜 암호화 사용이 해제되고 SSPROP_INIT_ENCRYPT가 VARIANT_FALSE로 설정된 경우 암호화가 수행되지 않습니다. |
SSPROP_INIT_FAILOVERPARTNER | 유형: VT_BSTR R/W: 읽기/쓰기 설명: 데이터베이스 미러링을 위한 장애 조치(Failover) 파트너 이름을 지정합니다. 이는 초기화 속성이며 초기화 전에만 설정할 수 있습니다. 초기화 후에는 주 서버에 의해 반환된 장애 조치(Failover) 파트너가 있는 경우 이를 반환합니다. 이렇게 하면 스마트 애플리케이션이 가장 최근에 결정된 백업 서버를 캐시할 수 있지만, 이러한 애플리케이션은 연결이 처음 설정되거나 풀이 풀된 경우 다시 설정될 때만 정보가 업데이트되고 장기 연결에 대한 최신 상태가 될 수 있다는 점에 유의해야 합니다. 연결을 설정한 후 애플리케이션은 이 특성을 쿼리하여 장애 조치(Failover) 파트너의 ID를 확인할 수 있습니다. 주 서버에 장애 조치(failover) 파트너가 없는 경우 이 속성은 빈 문자열을 반환합니다. 자세한 내용은 데이터베이스 미러링 사용을 참조하세요. |
SSPROP_INIT_FILENAME | 유형: VT_BSTR R/W: 읽기/쓰기 설명: 연결할 수 있는 데이터베이스의 주 파일 이름을 지정합니다. 이 데이터베이스는 연결되어 해당 연결에 대한 기본 데이터베이스가 됩니다. SSPROP_INIT_FILENAME을 사용하려면 데이터베이스 이름을 DBPROP_INIT_CATALOG 초기화 속성의 값으로 지정해야 합니다. 데이터베이스 이름이 없으면 SSPROP_INIT_FILENAME에 지정된 주 파일 이름을 찾고 해당 데이터베이스를 DBPROP_INIT_CATALOG에 지정된 이름에 연결합니다. 데이터베이스가 이전에 연결된 경우 SQL Server는 이를 다시 연결하지 않습니다. |
SSPROP_INIT_MARSCONNECTION | 유형: VT_BOOL R/W: 읽기/쓰기 Default: VARIANT_FALSE 설명: 연결에 대해 MARS(Multiple Active Result Set)를 활성화할지 여부를 지정합니다. 데이터베이스에 연결을 설정하기 전에 이 옵션을 true로 설정해야 합니다. 자세한 내용은 MARS(Multiple Active Result Sets) 사용을 참조하세요. |
SSPROP_INIT_NETWORKADDRESS | 유형: VT_BSTR R/W: 읽기/쓰기 설명: DBPROP_INIT_DATASOURCE 속성으로 지정된 SQL Server 인스턴스를 실행 중인 서버의 네트워크 주소입니다. |
SSPROP_INIT_NETWORKLIBRARY | 유형: VT_BSTR R/W: 읽기/쓰기 설명: SQL Server 인스턴스와 통신하는 데 사용되는 networklibrary(DLL)의 이름입니다. 이름에는 경로 또는 .dll 파일 확장명이 포함되면 안 됩니다. 기본값은 SQL Server 클라이언트 구성 유틸리티를 사용하여 사용자 지정할 수 있습니다. 참고: 이 속성은 TCP와 명명된 파이프만 지원합니다. 접두사로 이 속성을 사용하는 경우 속성이 내부적으로 접두사를 생성하는 데 사용되므로 오류가 발생하는 이중 접두사로 끝납니다. |
SSPROP_INIT_PACKETSIZE | 유형: VT_I4 R/W: 읽기/쓰기 설명: 네트워크 패킷 크기(바이트)입니다. 패킷 크기 속성 값은 512에서 32,767 사이여야 합니다. 기본 SQL Server Native Client OLE DB 공급자 네트워크 패킷 크기는 4,096입니다. |
SSPROP_INIT_TAGCOLUMNCOLLATION | 형식: BOOL R/W: 쓰기 기본값: FALSE 설명: 서버 쪽 커서가 사용되는 경우 데이터베이스 업데이트 동안 사용됩니다. 이 속성은 클라이언트의 코드 페이지가 아닌 서버에서 얻은 데이터 정렬 정보를 데이터에 첨부합니다. 현재 이 속성은 대상 데이터의 데이터 정렬을 알고 이를 올바르게 변환하는 분산 쿼리 처리에서만 사용됩니다. |
SSPROP_INIT_TRUST_SERVER_CERTIFICATE | 유형: VT_BOOL R/W: 읽기/쓰기 Default: VARIANT_FALSE 설명: 서버 인증서 유효성 검사를 설정 또는 해제하는 데 사용됩니다. 이 속성은 읽기/쓰기이지만 연결이 설정된 후에 이 속성을 설정하려고 하면 오류가 발생합니다. 인증서 유효성 검사가 필요하도록 클라이언트가 구성된 경우 이 속성은 무시됩니다. 그러나 애플리케이션에서 이 속성을 SSPROP_INIT_ENCRYPT와 함께 사용하면 클라이언트가 암호화를 요구하지 않도록 구성되고 클라이언트에 제공된 인증서가 없는 경우에도 서버에 대한 연결이 암호화되도록 보장할 수 있습니다. 클라이언트 애플리케이션은 연결이 열린 후에 이 속성을 쿼리하여 실제 사용되는 암호화 및 유효성 검사 설정을 확인할 수 있습니다. 참고: 인증서 유효성 검사 없이 암호화를 사용하면 패킷 스니핑에 대한 부분적인 보호가 가능하지만 메시지 가로채기(man-in-the-middle) 공격은 차단하지 못합니다. 서버 인증서 유효성을 검사하지 않고 단순히 로그인과 서버로 전송되는 데이터의 암호화만 허용합니다. 자세한 내용은 유효성 검사 없이 암호화 사용을 참조하세요. |
SSPROP_INIT_USEPROCFORPREP | 유형: VT_I4 R/W: 읽기/쓰기 Default: SSPROPVAL_USEPROCFORPREP_ON 설명: SQL Server 저장 프로시저 사용법입니다. ICommandPrepare 인터페이스를 지원하기 위한 SQL Server 임시 저장 프로시저 사용을 정의합니다. 이 속성은 SQL Server 6.5에 연결하는 경우에만 의미가 있었습니다. 이후 버전에서는 이 속성이 무시됩니다. SSPROPVAL_USEPROCFORPREP_OFF: 명령이 준비될 때 임시 저장 프로시저가 만들어지지 않습니다. SSPROPVAL_USEPROCFORPREP_ON: 명령이 준비될 때 임시 저장 프로시저가 만들어집니다. 임시 저장 프로시저는 세션이 해제될 때 삭제됩니다. SSPROPVAL_USEPROCFORPREP_ON_DROP: 명령이 준비될 때 임시 저장 프로시저가 만들어집니다. 이 프로시저는 ICommandPrepare::Unprepare로 명령이 준비 취소될 때, ICommandText::SetCommandText로 명령 개체에 대해 새 명령이 지정될 때, 또는 명령을 참조하는 모든 애플리케이션이 해제될 때 삭제됩니다. |
SSPROP_INIT_WSID | 유형: VT_BSTR R/W: 읽기/쓰기 설명: 워크스테이션을 식별하는 문자열입니다. |
공급자별 속성 집합 DBPROPSET_SQLSERVERDATASOURCEINFO SQL Server Native Client OLE DB 공급자는 추가 속성을 정의합니다. 자세한 내용은 데이터 원본 정보 속성을 참조하세요.
SQL Server Native Client OLE DB 공급자 문자열
SQL Server Native Client OLE DB 공급자는 공급자 문자열 속성 값에서 ODBC와 유사한 구문을 인식합니다. 공급자 문자열 속성은 OLE DB 데이터 원본에 대한 연결이 설정될 때 OLE DB 초기화 속성 DBPROP_INIT_PROVIDERSTRING의 값으로 제공됩니다. 이 속성은 OLE DB 데이터 원본에 대한 연결을 구현하기 위해 필요한 OLE DB 공급자별 연결 데이터를 지정합니다. 문자열 내에서 요소는 세미콜론으로 구분됩니다. 문자열의 마지막 요소는 세미콜론으로 끝나야 합니다. 각 요소는 키워드, 등호 문자, 그리고 초기화 시 전달되는 값으로 구성됩니다. 예를 들면 다음과 같습니다.
Server=MyServer;UID=MyUserName;
SQL Server Native Client OLE DB 공급자를 사용하면 소비자는 공급자 문자열 속성을 사용할 필요가 없습니다. 소비자는 OLE DB 또는 SQL Server Native Client OLE DB 공급자별 초기화 속성을 사용하여 공급자 문자열에 반영된 모든 초기화 속성을 설정할 수 있습니다.
SQL Server Native Client OLE DB 공급자에서 사용할 수 있는 키워드 목록은 SQL Server Native Client에서 연결 문자열 키워드 사용을 참조 하세요.