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