have true nested / independent transactions... -- marc_s Oct 10 at 20:29 1 @chobo2: NO - the data will be inserted - just not yet committed. But when it's inserted, the new IDENTITY values are being defined - you can read those out. Now if the transaction ends up being rolled back in the end, those PK identity values will be "forgotten" (e.g. they were used, but rolled back) and that's how gaps can happen in an IDENTITY column. But you definitely need to read up on transactions and transaction handling in SQL Server! Check the relevant MSDN documentation. -- marc_s Oct 10 at 20:39 I do have it setup as a transaction, but how? I thought the transaction would be broken as I would need to insert and then get the PK back. I am coming from a nhibernate background where and since the PK needs to be generated from the server the transaction would be broken and I would not be able to rollback. -- chobo2 Oct 10 at 20:13 that is not true, you can have multiple commands in one transaction, so you can insert into the first table, get the id and then insert into the second table in the same transaction... -- Zdravko Danev Oct 10 at 20:17