Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

MSDTC không loại trừ lẫn nhau xác thực khi máy tính không chạy trong cùng một tên miền

Hỗ trợ cho Windows Server 2003 đã kết thúc vào ngày 14 tháng 7 năm 2015

Microsoft đã kết thúc hỗ trợ cho Windows Server 2003 vào ngày 14 tháng 7 năm 2015. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:827805
TRIỆU CHỨNG
Khi hai máy tính không chạy trong cùng một tên miền sử dụng Microsoft phân phối giao dịch điều phối viên (MSDTC) cho truyền thông và Đối với các giao dịch phân phối, xác thực lẫn nhau có thể không.

Khi bạn chạy một giao dịch phân phối đối với một máy chủ được liên kết trong Microsoft SQL Server 2000 trên một máy tính đang chạy Microsoft Windows Server 2003 Phiên bản doanh nghiệp, bạn có thể nhận được thông báo lỗi sau:
Máy chủ: Msg 7391 người, tầng 16, bang 1, đường 2
Các không thể thực hiện thao tác vì nhà cung cấp OLE DB 'SQLOLEDB' không thể bắt đầu một giao dịch phân phối. OLE/DB nhà cung cấp trở lại tin nhắn: Giao dịch mới không thể nhập ngũ trong các điều phối viên của giao dịch đã chỉ định.
NGUYÊN NHÂN
MSDTC proxy không thể xác nhận một cách chính xác MSDTC khi các máy tính sự đang không ở trong cùng một tên miền.
CÁCH GIẢI QUYẾT KHÁC
Quan trọng Phần, phương pháp hoặc nhiệm vụ này chứa các bước cho bạn biết làm thế nào để sửa đổi registry. Tuy nhiên, vấn đề nghiêm trọng có thể xảy ra nếu bạn sửa đổi registry không chính xác. Vì vậy, hãy chắc chắn rằng bạn làm theo các bước sau một cách cẩn thận. Để bảo vệ được thêm vào, sao lưu sổ đăng ký trước khi bạn sửa đổi nó. Sau đó, bạn có thể khôi phục sổ đăng ký nếu một vấn đề xảy ra. Để biết thêm chi tiết về làm thế nào để sao lưu và khôi phục sổ đăng ký, hãy nhấp vào số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
322756 Cách sao lưu và lưu trữ sổ đăng kư trong Windows


Thông tin về cách chỉnh sửa registry, xem chủ điểm trợ giúp "Thay đổi phím và các giá trị" trong Registry Editor (Regedit.exe) hoặc "thêm và xoá thông tin trong đăng ký" và "Chỉnh sửa Registry Data" Chủ điểm trợ giúp trong Regedt32.exe. Microsoft khuyến cáo bạn sao lưu registry trước khi bạn chỉnh sửa nó.

Để làm việc xung quanh vấn đề này, tắt RPC bảo mật trên máy tính Windows Server 2003. RPC security là một DTC mới tính năng trong Windows Server 2003. Khi bạn vô hiệu hóa bảo mật RPC, DTC xác thực mức bảo mật cho các cuộc gọi RPC đi trở lại để một mức độ đó là có sẵn trong Microsoft Windows 2000 Server. Để thực hiện việc này, hãy làm theo các bước sau để thiết lập giá trị DWORD cho giá trị đăng ký TurnOffRpcSecurity để 1:
  1. Khởi động Registry Editor (Regedt32.exe).
  2. Xác định vị trí các khóa sau trong registry:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
  3. Trên các Chỉnh sửa trình đơn, nhấp vào Thêm Giá trị, và sau đó thêm giá trị đăng ký sau đây:
    Tên giá trịKiểu dữ liệuGiá trị
    TurnOffRpcSecurityREG_DWORD1
  4. Thoát khỏi Registry Editor.
Chú ýSau khi bạn cài đặt Windows Server 2003 Service Pack 1, các mục nhập registry TurnOffRpcSecurity được đặt thành 0. Bạn có để khôi phục lại các giá trị 1 bằng cách sử dụng ký biên soạn trước khi bạn khởi động lại máy tính.
TÌNH TRẠNG
Điều này hành vi là do thiết kế.
THÔNG TIN THÊM

Các bước mô phỏng hành vi.

  1. Đảm bảo rằng cả hai máy tính đang chạy Windows Server 2003.
  2. Cài đặt SQL Server 2000 với Service Pack 3 (SP3) trên cả hai các máy tính.
  3. Hãy chắc chắn rằng MSDTC bắt đầu trên cả hai máy tính.
  4. Trên máy tính đầu tiên, bắt đầu phân tích truy vấn SQL Ứng dụng (Isqlw.exe), và sau đó kết nối đến máy chủ SQL địa phương.
  5. Thêm máy tính thứ hai là các máy chủ được liên kết. Để làm như vậy, chạy tuyên bố Transact-SQL sau trong SQL Query Analyzer:
    EXEC sp_addlinkedserver  'remote_server',  N'SQL SERVER'GO
    Chú ý Thay thế remote_server với tên gọi máy tính thứ hai.
  6. Chạy các câu Transact-SQL sau đây trong truy vấn SQL Phân tích:
    SET xact_abort ON GOUSE  pubsGOBEGIN DISTRIBUTED TRANSACTIONSELECT  *  FROM remote_server.pubs.dbo.authorsCOMMIT TRANGO
    Bạn có thể nhận thông điệp lỗi được đề cập trong các triệu chứng"" phần của bài viết này.
Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
329332Bạn nhận được lỗi 7391 người khi bạn chạy một giao dịch phân phối đối với một máy chủ được liên kết
Để biết thêm thông tin về Microsoft COM + 1.5, truy cập Microsoft Developer Network (MSDN) Web site sau:

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 827805 - Xem lại Lần cuối: 08/29/2011 08:56:00 - Bản sửa đổi: 2.0

Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft SQL Server 2000 Enterprise Edition, Microsoft COM+ 1.5

  • kbinfo kbtshoot kbtransaction kbsecurity kbrpc kbauthentication kbdtc kbdomain kbmt KB827805 KbMtvi
Phản hồi
tml>