Hej! MS DTC behövs bara om du köra transaktioner över flera databas connections, annars skall den inte behövas. Tack för svaret! Det räcker att du öppnar två db connections, även mot samma databas, så kommer MS DTC att bli inblandad.Transaction genom MS DTC
Som ni säkert känner till så finns det något som heter System.Transaction, detta gör det möjligt att avbryta operationer mot databasen om något skulle gå fel.
För att använda System.Transaction så krävs det att MS DTC är aktiverat(ialla fall på Windows XP).
Nu undrar jag om det räcker att göra en simpel SELECT satts som är nästlad i en System.Transaction för att veta om det hela fungerar som det ska? Eller gäller detta enbart operationer så som Updat, Instert, Create Table o.s.v?Sv: Transaction genom MS DTC
Men ja, alla DB operationer i ett TransactionScope kommer att gå i en transaktion.Sv:Transaction genom MS DTC
Aha över flera databas connections? du menar om jag öppnar först en transaktion och sen öppnar jag två databas connections(kan vara till samma databas) och genomför någon operation?Sv: Transaction genom MS DTC
Beteendet kallas "auto-promoted transactions". Så länge du bara har en connection räcker det med en lokal transaktion (BEGIN TRANS i T-SQL) men så fort två resurser blir inblandade så måste transaktionen koordieras över båda resurserna, MS DTC kopplas då in för att sköta koordineringen i en "two phase commit"
Värt att nämna är också att den här koordineringen fungerar även med andra resurser än databaser, på vista och windows server 2008 tex så kan filsystemet ingå i en transaktion tillsammans med databasen och har du WCF eller WSE 3.0 så kan en WS-Transaction ingå i en transaktion tillsammans med de båda övriga.