FILE_ID (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![no](media/no.png)Azure SQL Database ![no](media/no.png)Azure SQL Data Warehouse ![no](media/no.png)Parallel Data Warehouse

For the given logical name for a component file of the current database, this function returns the file identification (ID) number.

[!IMPORTANT]
This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use FILE_IDEX instead.

Topic link icon Transact-SQL Syntax Conventions

Syntax

FILE_ID ( file_name )  

Arguments

file_name
An expression of type sysname, representing the logical name of the file whose file ID value FILE_ID will return.

Return Types

smallint

Remarks

file_name corresponds to the logical file name displayed in the name column of the sys.master_files or sys.database_files catalog views.

FILE_ID returns NULL if file_name does not correspond to the logical name of a component file of the current database.

In SQL Server the file identification number assigned to full-text catalogs exceeds 32767. Because the FILE_ID function has a smallint return type, FILE_ID will not support full-text files. Use FILE_IDEX instead.

Examples

This example returns the file ID value for the AdventureWorks_Data file, a component file of the ADVENTUREWORKS2012 database.

USE AdventureWorks2012;  
GO  
SELECT FILE_ID('AdventureWorks2012_Data')AS 'File ID';  
GO  

Here is the result set.

File ID   
-------   
1  
(1 row(s) affected)  

See Also

Deprecated Database Engine Features in SQL Server 2016
FILE_NAME (Transact-SQL)
Metadata Functions (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)