PDA

View Full Version : خطا در اجرای Distributed Transaction



luckyboy77
شنبه 19 اردیبهشت 1394, 08:43 صبح
با سلام خدمت همه دوستان گرامی
اول پوزش میخوام بعد از سرچ کردن سایت و موفق نشدن این پست نوشته شده
دوتا کامپیوتر دارم که توی یکه شبکه LAN قرار دارند. هر دو دارای ویندوز 7 سرویس پک 1 هستند و هر دو دارای SQL SERVER 2008 R2 هستند. توی یکیشون یک لینک سرور به نام SQLB با طی مراحل زیر ساختم:
1- ساخت لینک سرور با پروسیجر sp_addlinkedserver
2- ساخت login با پروسیجر sp_addlinkedsrvlogin
3- انجام تنظیمات Remote connection در SQL management studio
4- فعال کردن پروتکل های Named pipes و TCP/IP
5- انجام تنظیمات فایروال و فعال کردن SQL Server Browser
با انجام مراحل فوق لینک سرور درست شد و دستور زیر بدون هیچ مشکلی اجرا میشه

SELECT * FROM SQLB.Staffs.dbo.Staff2

حالا قصد اجرای تراکنش توزیع شده دارم. برای این کار مراحل زیر انجام شد:
1- نصب Microsoft message queue server
2- فعال کردن MSDTC در سرویس ها
3- فعال کردن Require distributed transaction for server-to-server communication در SQL SERVER
4- فعال کردن Ad Hoc Distributed Queries و Remote proc trans در SQL SERVER
انجام تنظیمات امنیتی MSDTC مطابق تصویر زیر

131029

اما متاسفانه اگر همان دستور بالا رو به صورت تراکنش توزیع شده اجرا کنم

BEGIN DISTRIBUTED TRAN
SELECT * FROM SQLB.Staffs.dbo.Staff2
COMMIT TRAN

با این خطا مواجه می شوم

OLE DB provider "SQLNCLI10" for linked server "sqlb" returned message "No transaction is active.".
Msg 7391, Level 16, State 2, Line 2
The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "sqlb" was unable to begin a distributed transaction.


اطفا راهنمایی کنید.

درضمن سرویس MSDTC ویندوز رو با دستورات msdtc -uninstall و msdtc - install یکبار حذف و دوباره نصب کردم ولی مشکل حل نشد.

mehdin69
سه شنبه 10 اردیبهشت 1398, 16:52 عصر
من هم همین مشکل رو دارم کسی راه حلی نداره؟