FILE_IDEX (Transact-SQL)
Возвращает номер идентификатора файла (ID) для указанного логического имени файла данных, файла журнала, или полнотекстового файла в текущей базе данных.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
FILE_IDEX ( file_name )
Аргументы
- file_name
Выражение типа sysname, представляющее имя файла, для которого необходимо вернуть идентификатор файла.
Типы возвращаемых данных
int
Значение NULL в случае ошибки
Замечания
Аргумент file_name соответствует логическому имени файла, отображенному в столбце name в представлении каталога sys.master_files или sys.database_files.
Функция FILE_IDEX может быть использована в списке выбора, в предложении WHERE или в любом другом месте, где допускаются выражения. Дополнительные сведения см. в разделе Выражения (Transact-SQL).
Примеры
А. Получение идентификатора для указанного файла
Следующий пример возвращает идентификатор файла AdventureWorks_Data
.
USE AdventureWorks;
GO
SELECT FILE_IDEX('AdventureWorks_Data')AS 'File ID';
GO
Ниже приводится результирующий набор.
File ID
-------
1
(1 row(s) affected)
Б. Получение идентификатора файла, имя которого неизвестно
Следующий пример возвращает идентификатор файла журнала базы данных AdventureWorks
, выбрав логическое имя файла из представления каталога sys.database
_files
, где тип файла равен 1
(логический).
USE AdventureWorks;
GO
SELECT FILE_IDEX((SELECT name FROM sys.database_files
WHERE type = 1))AS 'File ID';
GO
Ниже приводится результирующий набор.
File ID
-------
2
В. Получение идентификатора файла полнотекстового файла каталога
Следующий пример возвращает идентификатор полнотекстового файла, выбрав логическое имя файла из представления каталога 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)