증상
SSMS(Microsoft SQL Server Management Studio) 또는 SSDT(SQL Server Data Tools)를 사용하여 테이블을 CSV 파일로 내보냅니다. 예를 들어 SQL Server Integration Services(SSIS) 프로젝트에서 테이블을 CSV 형식으로 내보냅니다.
큰따옴표(")를 텍스트 한정자로 선택하고 레코드에 큰따옴표가 포함된 경우 출력에서 표시가 올바르게 이스케이프되지 않을 수 있습니다.
예제
원본 데이터 |
big"data |
예상 출력 |
"big""data" |
실제 출력 |
"big"data" |
해결 방법
이 문제에 대한 수정 사항은 SQL Server 대한 다음 업데이트에 포함되어 있습니다.
2017년 SQL Server 대한 누적 업데이트 8
이 업데이트를 설치한 후 CSV 형식을 사용하여 테이블을 내보낼 때 해당 값을 True로 설정하여 "한정자 이스케이프" 기능을 켜야 합니다.
이스케이프 동작을 사용할 때 저장된 SSIS 패키지에 대한 SSDT에서 "이스케이프 한정자" 기능을 변경해야 합니다.
다음 스크린샷은 EscapeQualifier 속성의 세부 정보를 보여줍니다.
참고 사항:
-
SQL Server 가져오기 및 내보내기 마법사에는 EscapeQualifier 속성이 기본적으로 비활성화되어 있으므로 이 기능을 켤 수 없다는 제한 사항이 있습니다.
-
마법사를 통해서만 SSIS 패키지를 저장하고 SSDT를 통해 해당 속성을 수정하여 이 기능을 가져올 수 있습니다.
-
자세한 내용은 플랫 파일 사용자 지정 속성 - SQL Server Integration Services(SSIS) | 참조하세요. Microsoft Learn.
SQL Server 빌드 정보
SQL Server 대한 각 새 빌드에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함되어 있습니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참고 자료
Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 표준 용어 에 대해 알아봅니다.