How SQL Server detects a record internally? I am following this SO post where the author (stack programmer) states


  SQL server uses the identity column as the key value to refer to a
  particular row. So only a single identity column can be created.


He also mentioned that 


  Also if no identity columns are explicitly stated, Sql server
  internally stores a separate column which contains key value for each
  row.


Could anyone explain the two points(specially the second one) in  more details?

Thanks
Could anyone explain the two points(specially the second one) in more details?


I hope not, since they are both wrong. In SQL Server rows are identified by keys (in B-trees) or by row ids (in heaps). Non-unique clustered indexes have an internal uniqueifier column. The fact that often times an IDENTITY type column is also used as a primary key is orthogonal to the question. 

Do not base your knowledge on stuff from posts on forums, including StackOverflow, and including this very post. A good source is the official documentation, eg. Tables and Index Data Structures Architecture. Read a good book, like the SQL Server Internals series.