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).

Примеры

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

Следующий пример возвращает идентификатор файла 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';