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 :
Lưu ý
- Trình hướng dẫn Nhập và Xuất SQL Server có giới hạn rằng bạn không thể bật chức năng này vì thuộc tính EscapeQualifier bị vô hiệu hóa theo mặc định.
- Bạn chỉ có thể lưu gói SSIS thông qua trình hướng dẫn và sửa đổi thuộc tính đó thông qua SSDT để có được chức năng này.
- Để biết thêm thông tin, hãy xem Thuộc tính Tùy chỉnh Tệp Phẳng - Dịch vụ Tích hợp SQL Server (SSIS) | Microsoft Learn.
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.