一个关于事务的问题。大家帮忙解释一下
表结构: 
 CREATE   TABLE   [dbo].[t1]( 
 	[id]   [int]   NOT   NULL, 
 	[value]   [int]   NULL, 
    CONSTRAINT   [PK_t1]   PRIMARY   KEY   CLUSTERED    
 ( 
 	[id]   ASC 
 )WITH   (IGNORE_DUP_KEY   =   OFF)   ON   [PRIMARY] 
 )   ON   [PRIMARY]   
 测试一: 
 BEGIN   TRANSACTION    
    insert   into   t1(id,value)values(2, '1 ') 
    insert   into   t1(id,value)values(2, '1 ') 
 commit   TRANSACTION    
 结果: 
 select   *   from   t1 
 id   value 
 2         1 
 问题: 
 为什么还能插入一条记录呢?   
 测试二: 
 BEGIN   TRANSACTION    
 insert   into   t1(id,value)values(2, '1 ') 
 insert   into   t1(id,value1)values(2, '1 ')      --表中没有value1字段 
 commit   TRANSACTION    
 结果: 
 select   *   from   t1 
 id   value 
 问题: 
 为什么没有插入记录?   
 测试三: 
 BEGIN   TRANSACTION    
 insert   into   t1(id,value)values(2, '1 ') 
 select   id,value1   from   t1         --表中没有value1字段 
 commit   TRANSACTION    
 结果: 
 select   *   from   t1 
 id   value 
 问题: 
 为什么没有出入记录?   
 测试四: 
 BEGIN   TRANSACTION    
 insert   into   t1(id,value)values(2, '1 ') 
 select   *   from      bb         --bb表不存在 
 commit   TRANSACTION   结果: 
 select   *   from   t1 
 id   value 
 2         1 
 问题: 
 为什么会茶入记录?     
------解决方案--------------------另外,LZ在做这些事务的时候,set xact_abort的状态是什么呢。