No matter even if your data is spread over any number of data files but still you can use INFORMATION_SCHEMA.TABLES to get the list of tables.
TABLES
Overview The INFORMATION_SCHEMA.TABLES view allows you to get
information about all tables and views within a database. By default
it will show you this information for every single table and view that
is in the database.
Explanation This view can be called from any of the databases in an
instance of SQL Server and will return the results for the data within
that particular database.
The columns that this view returns are as follows:
Column name Data type Description
- TABLE_CATALOG nvarchar(128) Table qualifier.
- TABLE_SCHEMA nvarchar(128) Name of schema that contains the table.
- TABLE_NAME sysname Table name.
- TABLE_TYPE varchar(10) Type of table. Can be VIEW or BASE TABLE.
(Source: SQL Server 2005 Books Online)
Here is an example of data that was pulled from the AdventureWorks database. This data was pulled using this query:
SELECT * FROM INFORMATION_SCHEMA.TABLES
To only show a list of tables you would use this query:
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
To only show a list of only the view you would use this query:
SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'VIEW'