릴리스 정보
SQL Server용 Microsoft JDBC Driver 12.8

------------
소개
------------
이 파일에는 SQL Server용 Microsoft JDBC Driver 12.8 설명서를 보완하는 최신 정보나 
기타 중요한 정보가 포함되어 있습니다. JDBC 드라이버를 설치하기 전에 이 파일을 
읽어야 합니다.

Microsoft에서는 사용자의 의견을 매우 소중하게 여기며 이러한 의견을 반영하기 위해 노력하고 
있습니다. JDBC 드라이버 블로그 및 온라인 포럼을 사용하여 피드백을 제공하는 방법에 대한 정보는 
SQL Server용 Microsoft JDBC Driver 12.8 페이지(https://aka.ms/mssql-jdbc-feedback)를 참조하세요.


------------
설치
------------
JDBC 드라이버 설치 지침은 install.txt에 있습니다. Windows 및 Unix 운영 체제에서 
Windows, Linux 및 macOS 운영 체제에서 JDBC 드라이버를 설치하는 방법은 이 파일을 참조하세요.


---------------------------
지원되는 운영 체제
---------------------------
SQL Server용 Microsoft JDBC Driver 12.8에 지원되는 운영 체제는 다음과 같습니다.
  Windows Server 2012
  Windows Server 2012 R2
  Windows Server 2016
  Windows Server 2019
  Windows Server 2022
  Windows 8.1
  Windows 10
  Windows 11
  Linux
  macOS

위 목록은 지원되는 운영 체제 중 일부입니다. JDBC 드라이버는 
JVM(Java Virtual Machine)의 사용을 지원하는 모든 운영 체제에서 작동하도록 설계되어 있습니다. 

그러나 Linux와 MacOS의 최신 운영 체제(Ubuntu 20.04, Ubuntu 18.04, CentOS 7, SUSE 12,
 macOS 11)만 호환성 및 지원에 대해 테스트되었습니다.


-----------------------
지원되는 Java 버전
-----------------------
SQL Server용 Microsoft JDBC Driver 12.8는 위에서 설명한 것처럼 지원되는 운영 체제에서 
개방형 JDK 및 Zulu에 대해 최신 버전의 JDK(Java Development Kit) 빌드를 테스트하여 지원합니다.
다음과 같은 제품군 버전의 JRE(Java Runtime Environment) 시스템 라이브러리가 지원됩니다.

  ----------------------------------------------------------------------
  JRE 제품군 버전 | 최대 지원을 위한 드라이버 JAR
  ----------------------------------------------------------------------
  8+                 | mssql-jdbc-12.8.0.jre8.jar
  11+                | mssql-jdbc-12.8.0.jre11.jar


----------------
릴리스 내용
----------------
SQL Server용 Microsoft JDBC Driver 12.8 zip 또는 tar 파일은 지정된 위치에 다음 파일의 압축을 풉니다. 
여기서 지정된 위치는 선택된 설치 디렉터리에 대한 상대적인 위치입니다.

<설치 디렉터리>\sqljdbc_<버전>\<언어>\install.txt
<설치 디렉터리>\sqljdbc_<버전>\<언어>\release.txt
<설치 디렉터리>\sqljdbc_<버전>\<언어>\license.txt
<설치 디렉터리>\sqljdbc_<버전>\<언어>\thirdpartynotices.txt
<설치 디렉터리>\sqljdbc_<버전>\<언어>\mssql-jdbc-12.8.0.jre8.jar
<설치 디렉터리>\sqljdbc_<버전>\<언어>\mssql-jdbc-12.8.0.jre11.jar
<설치 디렉터리>\sqljdbc_<버전>\<언어>\auth\x86\mssql-jdbc_auth-12.8.0.x86.dll
<설치 디렉터리>\sqljdbc_<버전>\<언어>\auth\x64\mssql-jdbc_auth-12.8.0.x64.dll
<설치 디렉터리>\sqljdbc_<버전>\<언어>\samples\<샘플 파일...>
<설치 디렉터리>\sqljdbc_<버전>\<언어>\xa\xa_install.sql
<설치 디렉터리>\sqljdbc_<버전>\<언어>\xa\x86\sqljdbc_xa.dll
<설치 디렉터리>\sqljdbc_<버전>\<언어>\xa\x64\sqljdbc_xa.dll

각 구성 요소에 대한 자세한 내용은 온라인 설명서 SQL Server용
Microsoft JDBC Driver 설명서(https://aka.ms/mssql-jdbc)를 참조하세요.


-------------
설명서
-------------
이 릴리스 정보, 설치 지침 및 사용 조건이 이 패키지에 포함되어 있습니다. 
다른 모든 문서는 온라인에서 찾을 수 있습니다.

오프라인 도움말 파일은 이제 제공되지 않습니다. 


---------
JAR 파일
---------
이전 버전과의 호환성과 가능한 업그레이드 시나리오를 지원하기 위해 JDBC Driver 12.8에는 
각 설치 패키지에 들어 있는 3개의 JAR 클래스 라이브러리가 있습니다.
	mssql-jdbc-12.8.0.jre8.jar
	mssql-jdbc-12.8.0.jre11.jar


----------------------
기능별 파일
----------------------
Azure Active Directory 및 통합 인증(Windows) 구성 요소는 
'auth' 디렉터리에 포함되어 있습니다.

JDBC 분산 트랜잭션 구성 요소는 'xa' 디렉터리에 포함되어 있습니다.


--------------------
기능 종속성
--------------------
SQL Server용 Microsoft JDBC Driver 12.8의 몇 가지 기능은 
아래와 같은 외부 라이브러리에 종속됩니다.

1. Azure Key Vault 공급자에 대해 'Always Encrypted' 사용
   종속 라이브러리: azure-keyvault(버전 4.5.1), azure-identity(버전 1.7.0-beta.2)

2. ‘보안 enclave를 사용한 Always Encrypted’ 사용
   종속 라이브러리: com.google.code.gson(버전 2.8.9),
   org.bouncycastle(버전 1.70), org.bouncycastle은 JDK 8에만 필요합니다.
   
3. Windows, Linux 및 macOS 운영 체제에서 'Azure Active Directory 인증' 사용
   종속 라이브러리: azure-identity(버전 1.7.0-beta.2)
   
4. 'useFmtOnly'를 사용하여 매개 변수 메타데이터 검색
   종속 라이브러리: antlr 런타임(버전 4.9.3)
   
표준 Java 애플리케이션 또는 Maven 애플리케이션에 들어 있는 이러한 종속 라이브러리에 대한 자세한 정보는 
https://go.microsoft.com/fwlink/?linkid=867575에서 찾을 수 있습니다.

-------
SAMPLES
-------
JDBC Driver의 다양한 기능을 보여 주는 샘플 애플리케이션은 샘플 디렉터리에
있습니다 "samples". 각 샘플 및 샘플 실행 방법에 대한 자세한 내용은 온라인 설명서를 
참조하세요.


-----------
변경 목록
-----------
각 릴리스에 적용된 변경 내용, 픽스 및 개선 사항에 대한 자세한 목록은 https://aka.ms/mssql-jdbc-release-notes를 참조하세요.

------------
알려진 문제점
------------
SQL Server용 Microsoft JDBC Driver 12.8에 대한 알려진 문제점은 다음과 같습니다.

1) SQL AZURE 연결 삭제

SQL Azure에 연결할 때 비활성 기간 후 방화벽과 같은 네트워크 구성 요소에서 유휴 연결을 
종료할 수 있습니다. 네트워크 구성 요소에서 유휴 연결을 삭제하지 않도록 하려면 
다음 레지스트리 설정(또는 비 Windows에 해당하는)을 드라이버가 로드되는 운영 체제에서 
설정해야 합니다.
           
레지스트리 설정 권장 값
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime            30000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveInterval         1000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmission  10

2) SQL_VARIANT로 TVP를 사용하는 경우 

2.a) 날짜 값

sql_variant 열에 저장된 datetime/smalldatetime/날짜 값이 포함된 테이블을 채우기 위한 TVP를 사용할 때 
ResultSet에서 getDateTime/getSmallDateTime()/getDate() 호출이 작동하지 않으면 다음 예외를 던집니다:

	java.lang.String은 java.sql.Timestamp로 캐스팅할 수 없습니다

해결 방법: getString() 또는 getobject()를 대신 사용 합니다.

2.b) NULL 값에 대한 SQL_VARIANT로 TVP 사용

TVP를 사용하여 테이블을 채우고 NULL 값을 sql_variant 열 형식에 보낼 경우
열 형식 sql_variant로 TVP에 NULL 값을 삽입하는 방법은 현재 지원되지 않기 때문에 예외가 발생합니다.


3) NTLM 인증을 사용하는 경우

확장 보호 및 암호화된 연결을 동시에 활성화하는 기능은 현재 지원되지 않습니다.

4) useFmtOnly를 사용하는 경우

이 기능에는 SQL 구문 분석 논리의 결함으로 인해 발생하는 몇 가지 문제가 있습니다.
자세한 내용 및 해결 방법 제안은 https://aka.ms/mssql-jdbc-usefmtonly를 참조하세요.
