KB4135137 - KHẮC PHỤC: SSMS và SSDT không thoát được dấu ngoặc kép khi bạn xuất dữ liệu dưới dạng CSV

Áp dụng cho
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Triệu chứng

Bạn xuất bảng dưới dạng tệp CSV bằng cách sử dụng Microsoft SQL Server Management Studio (SSMS) hoặc Công cụ Dữ liệu SQL Server (SSDT). Ví dụ, bạn xuất bảng sang định dạng CSV trong dự án Dịch vụ Tích hợp SQL Server (SSIS).

Nếu bạn chọn dấu ngoặc kép (") làm hạn định văn bản và nếu bất kỳ bản ghi nào chứa dấu ngoặc kép thì dấu có thể không thoát đúng cách trong đầu ra.

Ví dụ

Dữ liệu gốc Dữ liệu lớn
Kết quả dự kiến "Lớn""Dữ liệu"
Sản lượng thực tế "Dữ liệu lớn"

Giải pháp

Bản sửa lỗi cho sự cố này được bao gồm trong bản cập nhật sau đây dành cho SQL Server:

Bản cập nhật tích lũy 8 cho SQL Server 2017

Sau khi cài đặt bản cập nhật này, khi bạn xuất bảng bằng định dạng CSV, bạn cần bật chức năng "Hạn định Thoát" bằng cách đặt giá trị của nó thành True.

Khả năng "Hạn định Thoát" cần được thay đổi trong SSDT cho gói SSIS đã lưu khi bạn sử dụng hành vi thoát.

Ảnh chụp màn hình sau đây hiển thị chi tiết về thuộc tính EscapeQualifier :

Chi tiết về thuộc tính EscapeQualifier

Lưu ý

Giới thiệu về bản dựng SQL Server

Mỗi bản dựng mới cho SQL Server đều chứa tất cả bản sửa lỗi nóng và bản sửa lỗi bảo mật trong bản dựng trước đó. Chúng tôi khuyên bạn nên cài đặt bản dựng mới nhất cho phiên bản SQL Server của mình:

Bản dựng mới nhất cho SQL Server 2017

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".

Tham khảo

Tìm hiểu về thuật ngữ chuẩn mà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.