Não há equivalente SCOPE_IDENTITY () ao usar GUIDs como chaves primárias, mas você pode usar a cláusula OUTPUT para obter um resultado semelhante. Você não precisa usar uma variável de tabela para a saída.
CREATE TABLE dbo.GuidTest (
GuidColumn uniqueidentifier NOT NULL DEFAULT NewSequentialID(),
IntColumn int NOT NULL
)
GO
INSERT INTO GuidTest(IntColumn)
OUTPUT inserted.GuidColumn
VALUES(1)
O exemplo acima é útil se você deseja ler o valor de um cliente .Net. Para ler o valor de .Net, você apenas usaria o método ExecuteScalar.
...
string sql = "INSERT INTO GuidTest(IntColumn) OUTPUT inserted.GuidColumn VALUES(1)";
SqlCommand cmd = new SqlCommand(sql, conn);
Guid guid = (Guid)cmd.ExecuteScalar();
...