Just your connection :-)
(Edit: most likely your transaction, since BEGIN TRANSACTION. If you made updates before BEGIN TRANSACTION in the same session, they, of course, will not be thrown back)
BUT: It might give SELECT other sessions the wrong answer depending on what types of locks and query hints were used ...
Example:
In a single SQL Studio session, complete the following steps:
CREATE TABLE a(a INT) INSERT INTO a VALUES(1) BEGIN TRANSACTION UPDATE a SET a = 2 SELECT *, @@TRANCOUNT FROM a
-> As a result, you will see "2, 1"
Open a new session (tab in Sql studio)
do:
SELECT *, @@TRANCOUNT FROM a (NOLOCK)
You will see "2, 0"
Now, in the first session, do
ROLLBACK TRANSACTION SELECT *, @@TRANCOUNT FROM a
-> transaction rollback and you see '1, 0'
-> the choice in the second session will also show '1, 0'
like this: if you use the hint (NOLOCK), you can get unfixed data as a result โ, which can lead to very unexpected effects :-)
Do not forget:
DROP TABLE a
when you finish;)