Lỗi 0xc0202049: Tác vụ luồng dữ liệu 1: Không thể chèn vào cột chỉ đọc


82

Tôi đang sử dụng trình hướng dẫn nhập và xuất SQL Server 2008. Tôi cần nhập một cơ sở dữ liệu. Tôi đã mở trình hướng dẫn nhập / xuất máy chủ SQL và tôi đã thực hiện các tác vụ sau: -

  1. cho đích, tôi đã chọn "SQL server native client 10".

  2. sau đó tôi đã chọn sao chép dữ liệu từ một hoặc nhiều bảng hoặc chế độ xem.

  3. SSIS chạy ngay lập tức

nhưng tôi mắc các lỗi sau,

Hoạt động đã dừng ...

  • Khởi tạo tác vụ luồng dữ liệu (Thành công)

  • Khởi tạo kết nối (Thành công)

  • Đặt lệnh SQL (Thành công)

  • Đặt kết nối nguồn (Thành công)

  • Đặt kết nối đích (Thành công)

  • Đang xác thực (Lỗi)

Lỗi thông báo 0xc0202049: Luồng dữ liệu Nhiệm vụ 1: Không thể chèn vào cột chỉ đọc "ActionID". (Thuật sĩ Nhập và Xuất SQL Server)

Lỗi 0xc0202045: Tác vụ luồng dữ liệu 1: Xác thực siêu dữ liệu cột không thành công. (Thuật sĩ Nhập và Xuất SQL Server)

Lỗi 0xc004706b: Nhiệm vụ luồng dữ liệu 1: "thành phần" Destination - AuditActions "(22)" không xác thực được và trả về trạng thái xác thực "VS_ISBROKEN". (Thuật sĩ Nhập và Xuất SQL Server)

Có vẻ như tôi không thể nhập cột nhận dạng và cột dấu thời gian, vậy làm cách nào để tôi có thể buộc nhập những giá trị này?

Câu trả lời:


28

Trước ngày Nhập, hãy thực hiện truy vấn dưới đây để đặt chèn danh tính vào:

SET IDENTITY_INSERT TableName ON

Sau đó thực hiện các thao tác nhập.

Sau ngày nhập, hãy thực hiện truy vấn dưới đây để tắt chèn danh tính:

SET IDENTITY_INSERT TableName OFF

223

Với tất cả sự tôn trọng đối với câu trả lời của Kishore, cách tiếp cận đó hợp lệ nếu bạn đang sửa đổi các gói. Vì bạn đang sử dụng trình hướng dẫn nhập / xuất, nên cách tiếp cận đơn giản hơn sẽ là kiểm traEnable Identity Insert hộp trên tab Ánh xạ cột.

Trong Trình hướng dẫn Xuất Nhập, sau khi chọn bảng để sao chép, hãy nhấp vào Edit Mappings...nút

nhập mô tả hình ảnh ở đây

Trong màn hình kết quả, nhấp vào thuộc Enable identity inserttính và danh tính của bạn sẽ được nhân rộng.

nhập mô tả hình ảnh ở đây

Kết quả thực giống như phát hành SET IDENTITY_INSERT TableName ON& TẮT nhưng điều này được thực hiện tự động tại thời điểm xây dựng.


cảm ơn, vấn đề cột nhận dạng đã được giải quyết và bây giờ tôi đang gặp sự cố với cột dấu thời gian. bất kỳ ý tưởng tôi có thể làm gì với chúng?
john Gu

1
Dấu thời gian được đề cập ở đây: sqlmatters.com/Articles/…
Niall Connaughton

12
Nếu bạn đang nhập nhiều bảng, bạn có thể chọn nhiều bảng trong danh sách, sau đó nhấp vào Chỉnh sửa ánh xạ để làm cho tùy chọn Bật chèn danh tính áp dụng cho tất cả các bảng đã chọn chỉ bằng một cú nhấp chuột.
pmartin

1
Giải pháp Kishore đã không giải quyết được vấn đề của tôi nhưng giải pháp bạn cung cấp thì có. Cảm ơn rất nhiều.
MadJlzz

Tôi tự hỏi sau khi xuất liệu có cần phải làm gì không: SET IDENTITY_INSERT TableName OFF. Cảm ơn.
Kevin .NET
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.