This # symbol prefixed with the tablename indicates that it is a local temporary table. This table will be existing till the session exists. Once the session expires the table will be dropped automatically. The table that is created with # symbol prefixed is temporary, so we can't give foreign key constraints to that table. Rest all the features are similar to that of the table that is permanent.
This ## symbol prefixed with the tablename indicates that it is a Global Temporary table.This particular temporary table can be used by all the connections of SQL server and the temporary table is made available for all the users to access it.
The Temporary table can be mostly used for 'Select into' statements
Table in SQL Server is an entity that holds information about the entity that we are talking about. For eg we can have a customer table holding customer details such as Customer name, Address etc.
##table stands for Global temporary table and it exists for all the connections that are made to the SQL server.