פבר20
Written by:
ronen ariely
20/02/2013 19:50 
MSDTC - Microsoft Distributed Transaction Control
MSDTC או DTC בקיצור הוא שירות קטן שרץ ברקע ומנהל את הטרנזקציות במערכת ההפעלה.
MSDTC משמש לשרתי ה SQL כמו גם לכל אפליקציה אחרת על מנת לנהל טרנזקציות מבוזרות בין כמה מכונות. הרעיון הבסיסי הוא לנהל מצב לדוגמה בו אנחנו מתחילים טרנזקציה הפועלת על מכונה A ומבצעת כמה פעולות ואז נגשים למכונה B לבצע עוד כמה פעולות. אם הפעולות במכונה B נכשלו ולכן בוטלו (rollback) אז הפעולות במכונה A שכבר בוצעו יבוטלו גם כן
בעבודה השוטפת ניתן לראות ב DTC כקופסא שחורה ואין צורך באינטרציה עם השירות.
השימוש היחיד ב DTC הוא במקרה בו אנחנו עושים שימוש ביותר ממכונה אחת בטרנזקציה. אין צורך ב DTC למשל כאשר עושים שימוש ב INSTANCE-ים שונים באותה מכונה. לעומת זאת כאשר נעבוד עם CLUSTER או עם LOAD BALANCE ורוצים לנוע בין INSTANCE-ים שונים אז יכנס הצורך ב DTC ונעשה בו שימוש, היות ואנחנו לא יכולים לדעת בוודאות אם ה INSTANCE אליו הגענו נמצא על אותה מכונה פיסית.
* לפני ההתקנה של SQL Server על failover cluster מייקרוסופט ממליצים להתקין ולקנפג Microsoft Distributed Transaction Coordinator. מייקרוסופט תומכים רק בהתקנה של MSDTC על צומת (NODE) העובד תחת CLUSTER. לא מומלץ להתקין MSDTC בשרת העובד בצורה עצמאית או בהתקנה של non-clustered resource. על עוד לא נעשה הפצה של טרנזקציה בין מכונות שונות כאמור לא אמורים לעבוד עם (או להפעיל) MSDTC.
חומר נוסף: