FILE_IDEX (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 到当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

FILE_IDEX ( file_name )

参数

  • file_name
    一个 sysname 类型的表达式,表示要返回文件 ID 的文件的名称。

返回类型

int

NULL on error

注释

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

FILE_IDEX 可以在选择列表、WHERE 子句和允许使用表达式的任何地方使用。 有关详细信息,请参阅 表达式(Transact-SQL)

示例

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

以下示例返回 AdventureWorks_Data 文件的文件 ID。

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

下面是结果集:

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

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

以下示例通过从文件类型等于 1(日志)的 sys.database_files 目录视图中选择逻辑文件名来返回 AdventureWorks 日志文件的文件 ID。

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

下面是结果集:

File ID 
------- 
2

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

以下示例通过从文件类型等于 4(全文本)的 sys.database_files 目录视图中选择逻辑文件名来返回全文本文件的文件 ID。 如果全文目录不存在,则此示例将返回 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)