# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Replication >  خطا در اجرای Distributed Transaction

## luckyboy77

با سلام خدمت همه دوستان گرامی
اول پوزش میخوام بعد از سرچ کردن سایت و موفق نشدن این پست نوشته شده
دوتا کامپیوتر دارم که توی یکه شبکه 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 مطابق تصویر زیر 

MSDTC.jpg

اما متاسفانه اگر همان دستور بالا رو به صورت تراکنش توزیع شده اجرا کنم
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

من هم همین مشکل رو دارم کسی راه حلی نداره؟

----------

