diff --git a/system/drivers/DB_mssql.php b/system/drivers/DB_mssql.php
index 3fbfa6a..32c0537 100644
--- a/system/drivers/DB_mssql.php
+++ b/system/drivers/DB_mssql.php
@@ -106,7 +106,7 @@
 	 * @access	public
 	 * @return	bool		 
 	 */	
-	function trans_begin()
+	function trans_begin($test_mode = FALSE)
 	{
 		if ( ! $this->trans_enabled)
 		{
@@ -119,6 +119,11 @@
 			return TRUE;
 		}
 
+		// Reset the transaction failure flag.
+		// If the $test_mode flag is set to TRUE transactions will be rolled back 
+		// even if the queries produce a successful result. 
+		$this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
 		$this->simple_query('BEGIN TRAN');
 		return TRUE;
 	}