FIX: Querying sys.tables returns temporary tables created by concurrent users starting from SQL Server 2012

Applies to: SQL Server 2016 Service Pack 2SQL Server 2016 DeveloperSQL Server 2016 Enterprise


Starting in Microsoft SQL Server 2012, when you query sys.tables, you see that the query also returns temporary tables that are created by concurrent users.

More Information

This is a change in behavior from SQL Server 2008 R2 to SQL Server 2012. Therefore, this is a regression issue.


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. 


This issue is fixed in the following cumulative updates for SQL Server:

Note To enable this fix Trace Flag (TF) 1829 must be enabled to go back to pre-2012 visibility behavior.

About cumulative updates for SQL Server:

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:


Learn about the terminology that Microsoft uses to describe software updates.