FILE_IDEX (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

此函数返回当前数据库的数据、日志或全文文件的指定逻辑名称的文件标识 (ID) 号。

Transact-SQL 语法约定

语法

FILE_IDEX ( file_name )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

file_name
类型为 sysname 的表达式,它返回文件名称的文件 ID 值“FILE_IDEX”。

返回类型

int

出现错误时,返回 NULL

注解

file_name 对应于 sys.master_filessys.database_files 目录视图中的 name 列中所显示的逻辑文件名。

在 SELECT 列表、WHERE 子句或支持使用表达式的任何位置使用 FILE_IDEX。 有关详细信息,请参阅表达式 (Transact-SQL)

示例

A. 检索指定文件的文件 ID

此示例返回 AdventureWorks_Data 文件的文件 ID。

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX('AdventureWorks2022_Data') AS 'File ID';  
GO  

下面是结果集:

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

B. 在文件名未知时检索文件 ID

此示例返回 AdventureWorks 日志文件的文件 ID。 Transact-SQL (T-SQL) 代码段从 sys.database_files 目录视图中选择逻辑文件名称,其中文件类型等于 1(日志)。

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX((SELECT TOP (1) name FROM sys.database_files WHERE type = 1)) AS 'File ID';  
GO  

下面是结果集。

File ID   
-------   
2  

C. 检索全文目录文件的文件 ID

此示例返回全文文件的文件 ID。 T-SQL 代码段从 sys.database_files 目录视图中选择逻辑文件名称,其中文件类型等于 4(全文)。 如果全文目录不存在,则此代码将返回“NULL”。

SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))  
AS 'File_ID';  

另请参阅

元数据函数 (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)