FILE_IDEX (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Эта функция возвращает номер идентификатора файла для указанного логического имени файла данных, файла журнала, или полнотекстового файла в текущей базе данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

FILE_IDEX ( file_name )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

file_name
Выражение типа sysname, представляющее имя файла, для которого необходимо вернуть значение идентификатора файла (FILE_IDEX).

Типы возвращаемых данных

int

NULL в случае ошибки

Замечания

file_name соответствует логическому имени файла, отображенному в столбце name в представлении каталога sys.master_files или sys.database_files.

Используйте FILE_IDEX в списке SELECT, предложении WHERE или любом другом объекте с поддержкой выражений. Дополнительные сведения см. в статье Выражения (Transact-SQL).

Примеры

А. Получение идентификатора для указанного файла

Этот пример возвращает идентификатор файла AdventureWorks_Data.

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

Результирующий набор:

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

B. Получение идентификатора файла, имя которого неизвестно

Этот пример возвращает идентификатор файла журнала AdventureWorks. Фрагмент кода 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. Получение идентификатора файла полнотекстового файла каталога

Этот пример возвращает идентификатор полнотекстового файла. Фрагмент кода 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)