FILE_IDEX (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Эта функция возвращает номер идентификатора файла для указанного логического имени файла данных, файла журнала, или полнотекстового файла в текущей базе данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
FILE_IDEX ( file_name )
Аргументы
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
В. Получение идентификатора файла полнотекстового файла каталога
Этот пример возвращает идентификатор полнотекстового файла. Фрагмент кода 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)