ทรานแซกชันและแบทช์เป็นแนวคิดอิสระสองประการ ทั้งสองสามารถใช้ในการกำหนดค่าแบบหนึ่งต่อหลาย
ทรานแซคชั่นบล็อกเป็น "หน่วยงาน" เดียวซึ่งเป็นแนวคิดที่ว่า sql ที่กำหนดต้องทำงานอย่างเต็มที่หรือไม่ทำงานเลย ตัวอย่างเช่นหากคุณอัปเดตสองตารางเชื่อมโยงกัน ทั้งสองจะต้องประสบความสำเร็จสำหรับการเปลี่ยนแปลงข้อมูลที่จะมุ่งมั่น [ https://msdn.microsoft.com/en-us/library/ms174377.aspx]
รุ่นที่เป็นแนวคิดของ Microsoft ด้วยเครื่องมือที่สร้างขึ้นโดย Microsoft เช่น sqlcmd และ osql ชุดงานจะช่วยให้มั่นใจถึงแผนการดำเนินการเพียงครั้งเดียว ตัวอย่างเช่นหากคุณสร้างตัวแปรและใช้นอกชุดเครื่องมือจะโยนข้อผิดพลาด [ https://msdn.microsoft.com/en-us/library/ms188037.aspx]
ดังนั้นคุณสามารถมีหลายแบทช์ที่อัปเดตหลายตารางภายในบล็อกธุรกรรมเดียว เท่าที่พวกเขาไม่ได้ละเมิดแผนการดำเนินการแต่ละชุดนั่นคือ
นอกจากนี้ภายในแบทช์คุณสามารถมีบล็อคการทำธุรกรรมได้หลายบล็อกเพื่อให้แน่ใจว่ามีความสมบูรณ์ของข้อมูลระหว่างเอนทิตีฐานข้อมูลเช่นตาราง
การเชื่อมต่อเป็นเพียงจับมือการสื่อสารที่อนุมัติหนึ่งเพื่อเรียกใช้แบบสอบถามบนเซิร์ฟเวอร์
คำสั่งคือแต่ละบรรทัดที่สร้างคิวรี GO (ตัวคั่นแบตช์ T-Sql) และ BEGIN TRANSACTION (ANSI SQL สำหรับการเริ่มต้นบล็อกธุรกรรมใหม่) เป็นทั้งสองคำสั่ง