2009-09-15 28 views
10

Trong khi tạo một gói SSIS cho SQL Server 2008 tôi gặp phải lỗi sau:Tại sao Thời gian chạy SSIS không bắt đầu giao dịch được phân phối?

Error: The SSIS Runtime has failed to start the distributed transaction due to error 0x8004D01B "The Transaction Manager is not available.". The DTC transaction failed to start. This could occur because the MSDTC Service is not running.

tôi là tạo ra và chạy gói cục bộ trên máy tính của tôi nhưng cơ sở dữ liệu trên máy chủ, chạy Windows Server 2008, là không phải trong miền.

Tôi đã đảm bảo rằng dịch vụ DTC được khởi động cả cục bộ lẫn trên máy chủ và tôi đã thêm ngoại lệ tường lửa được xác định trước trong tường lửa Windows Vista.

Tại sao Thời gian chạy SSIS không bắt đầu giao dịch được phân phối?

Trả lời

5

Kiểm tra giải pháp của tôi cho vấn đề này ở đây [http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

Đây là một kịch bản phổ biến nếu máy của bạn đang không ở trong một miền hoặc chạy Windows XP.

Chỉnh sửa: liên kết đã chết. Văn bản gốc từ liên kết có vẻ là:

In my current project we have multiple SSIS developers in team and we all were sharing the database server instance in my system. We faced an issue yesterday when a team mate was trying to implement transactions in SSIS. The package fails in other machines although it is running smooth in my system where the database resides. The error message thrown out was,

The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D00E “The transaction has already been implicitly or explicitly committed or aborted”

Soon we realized that this is something related to Microsoft Distributed Transaction Coordinator (MsDTC). We did some search and got a tool called “Dtcping.exe” which will check the health status of MsDTC processes in different machines. The tool reported an error “Access denied”, hinting some security issue with in the MsDTC. But we were not lucky even after a couple of hours of Googling. Then I decided to lean the security settings for MsDTC and I found that all network related connectivity is disabled by default. I learned that authentication settings can cause trouble as our machines were running Windows XP and as they were in a work group (we have a strange network configuration in my organization). I changed to “No Authentication Required” for MsDTC instances in all machines and it worked! To change the Security Configuration for MsDTC, go to Control Panel >> Administrative Tools >> Component Services >> Computers >> Right click My Computer and then click Properties >> Click the MSDTC tab >> Click Security Configuration. Below is a screen shot of the settings that I used, but I do not recommend this configuration for all cases as I am not aware of the impact it can have on securiy.

Screen shot

+0

Cảm ơn Andrew vì những nỗ lực. Blog của tôi đã chết từ lâu. Tôi đã thêm một pic tôi chỉ cần tải về từ mạng mà phục vụ cùng một mục đích. – Faiz

-2

Lỗi: Thời gian chạy SSIS không thể khởi động giao dịch được phân phối do lỗi 0x8004D01B "Trình quản lý giao dịch không khả dụng". Giao dịch DTC không khởi động được. Điều này có thể xảy ra vì Dịch vụ MSDTC không hoạt động.

4

Tôi đã có cùng một vấn đề, tuy nhiên, MS DTC không chạy trên máy của tôi. Để bật Transaction Coordinator tôi phải làm như sau:

Để bắt đầu MS DTC

  1. Để mở dịch vụ, trên menu Start, chọn Control Panel.
  2. Trong Pa-nen điều khiển, bấm Công cụ quản trị.
  3. Trong Công cụ quản trị, hãy nhấp vào Dịch vụ. Trong ngăn chi tiết, nhấp vào Distributed Transaction Coordinator trong danh sách dịch vụ.
  4. Trên menu Hành động, hãy bấm Bắt đầu.
+1

Đây là lần thứ hai tôi đã googled và quay lại ngay bài đăng này đã giải quyết được vấn đề của tôi. Có ai biết tại sao nó xảy ra? Hoặc làm thế nào để tôi chắc chắn để ngăn chặn nó trong tương lai? – Sam

Các vấn đề liên quan