CREATE TABLE a (a int IDENTITY(1,2)) CREATE TABLE b (b int IDENTITY(2,2)) GO CREATE TRIGGER InsertA ON a FOR INSERT AS INSERT INTO b DEFAULT VALUES GO INSERT INTO a DEFAULT VALUES SELECT @@IDENTITY SELECT SCOPE_IDENTITY()While @@IDENTITY is scoped to the connection, it is not limited to the session. After running the above script, you should see that @@IDENTITY contains a two (2) which was the value inserted into the b table. Probably not what you were expecting.