KB2216489 - KHẮC PHỤC: Thông báo lỗi khi bạn tìm cách chạy gói SSIS có chứa cấu phần SQL Server Đích trong tác vụ Dòng dữ liệu

Áp dụng cho
Windows 7 Windows Vista SQL Server Management Studio SQL Server 2008 R2 SQL Server 2008 R2 Service Pack 1

Triệu chứng

Hãy cân nhắc các trường hợp sau:

  • Bạn tạo gói SQL Server 2008 Integration Services R2 (SSIS) có cấu phần SQL Server Destination trong tác vụ Dòng dữ liệu.

  • Bạn cố chạy gói này trên các hệ thống đã bật Kiểm soát Tài khoản Người dùng (UAC) (ví dụ: trong Windows Vista hoặc Windows 7) bằng cách sử dụng một trong các phương pháp sau:

    • Studio Phát triển Nghiệp vụ Thông minh (BIDS)
    • SQL Server Management Studio (SSMS) Object Explorer
    • DTExec.exe
    • DTExecUI.exe

Trong trường hợp này, bạn có thể nhận được thông báo lỗi tương tự một trong các thông báo sau:

Lưu ý

[Đích của SQL Server] Lỗi: Không thể chuẩn bị thao tác chèn hàng loạt SSIS để chèn dữ liệu.

[SSIS. Pipeline] Error: component "SQL Server Destination" failed the pre-execute phase and returned error code 0xC0202071."

Không thể sao chép hàng loạt dữ liệu. Bạn có thể cần chạy gói này với tư cách người quản trị.

Ghi chú

  • Bạn không gặp phải những lỗi này nếu bạn chạy gói dưới tài khoản Quản trị viên tích hợp sẵn được tạo trong quá trình cài đặt hệ điều hành. Nhưng bạn sẽ nhận được thông báo này cho bất kỳ người dùng nào khác, bao gồm những người dùng là thành viên của nhóm Người quản trị Cục bộ.
  • Vấn đề này không xảy ra khi bạn thực thi gói SSIS giống như công việc Tác nhân SQL Server.
  • Thông báo lỗi thứ hai chỉ được tạo sau khi SQL 2008 Gói Dịch vụ 2 (SP2) được tạo.

Nguyên nhân

Sự cố này xảy ra trên các hệ thống có bật UAC. Khi một ứng dụng (chẳng hạn như SSIS) được khởi động bởi tài khoản là một thành viên của nhóm Người quản trị, ứng dụng đó sẽ nhận được hai mã thông báo bảo mật: một mã thông báo quyền thấp và một mã thông báo quyền nâng cao. Mã thông báo quyền nâng cao chỉ được sử dụng khi ứng dụng được chạy rõ ràng dưới tài khoản người quản trị bằng cách sử dụng tùy chọn Chạy với vai trò người quản trị . Theo mặc định, SSIS luôn dùng mã thông báo quyền thấp, và điều này sẽ gây ra lỗi khi SSIS kết nối với cấu phần Điểm đến của SQL Server.

Lưu ý: Khi bạn sử dụng tài khoản không phải là thành viên của nhóm Quản trị viên cục bộ, UAC sẽ không xuất hiện.

Giải pháp

Thông tin gói dịch vụ cho SQL Server 2008 R2

Để giải quyết sự cố này, hãy tải gói dịch vụ mới nhất dành cho SQL Server 2008 R2. Để biết thêm thông tin, hãy bấm vào số bài viết sau đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2527041 Cách lấy gói dịch vụ mới nhất cho SQL Server 2008 R2

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".
Sự cố này được khắc phục lần đầu trong SQL Server 2008 R2 Gói dịch vụ 1 cho SQL Server 2008 R2.

Giải pháp thay thế

Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:

  • Nếu bạn đang chạy gói từ SSMS, từ BIDS hoặc từ DTExecUI.exe, hãy khởi động những công cụ này từ tài khoản người quản trị. Để thực hiện bước này, hãy bấm vào Bắt đầu, trỏ tới Tất cả Chương trình, trỏ tới SQL Server 2005 hoặc SQL Server 2008, bấm chuột phải vào công cụ bạn đang sử dụng, rồi bấm Chạy với tư cách người quản trị. Thao tác này sẽ khởi động ứng dụng bằng cách sử dụng các quyền nâng cao của tài khoản Người quản trị được tích hợp sẵn và gói sẽ thực thi thành công.

    Tương tự, nếu bạn đang chạy gói bằng cách sử dụng DTExec.exe, hãy khởi động gói từ một dấu nhắc lệnh nâng cao. Để thực hiện việc này, bấm vào Bắt đầu, bấm Tất cả chương trình, bấm Phụ kiện, bấm chuột phải vào Dấu nhắc lệnh, rồi bấm Chạy với tư cách người quản trị.

    Lưu ý: Nếu bạn không đăng nhập vào máy tính với tư cách quản trị viên, bạn sẽ được nhắc cung cấp tài khoản quản trị viên. Phản hồi, nhập tên người dùng và mật khẩu người quản trị vào hộp thoại Kiểm soát Tài khoản Người dùng , rồi bấm OK.

  • Thay thế các cấu phần Đích của SQL Server trong các Tác vụ Dòng Dữ liệu gặp trục trặc bằng các cấu phần Đích của OLE DB trỏ tới cùng một trình quản lý kết nối SQL Server.

  • Dùng tài khoản không phải là thành viên của nhóm Người quản trị cục bộ sau khi bạn gán quyền Tạo Đối tượng Toàn cục cho tài khoản đó.

    Để thực hiện điều này, hãy làm theo các bước sau:

    1. Bấm vào Bắt đầu, trỏ chuột vào Công cụ Quản trị, rồi bấm vào Chính sách Bảo mật Cục bộ.
    2. Bung rộng Chính sách Cục bộ, rồi bấm Gán Quyền Người dùng.
    3. Trong ngăn chi tiết, bấm đúp vào Tạo đối tượng toàn cầu.
    4. Trong hộp thoại Thiết đặt Chính sách Bảo mật Cục bộ , bấm Thêm.
    5. Trong hộp thoại Chọn Người dùng hoặc Nhóm , hãy bấm vào tài khoản người dùng mà bạn muốn thêm, bấm Thêm, sau đó bấm OK hai lần.