Поделиться через


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 AdventureWorks2012;
GO
SELECT FILE_IDEX('AdventureWorks2012_Data')AS 'File ID';
GO

Ниже приводится результирующий набор.

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

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

Следующий пример возвращает идентификатор файла журнала базы данных AdventureWorks, выбрав логическое имя файла из представления каталога sys.database_files, где тип файла равен 1 (логический).

USE AdventureWorks2012;
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';

См. также

Справочник

Функции метаданных (Transact-SQL)

sys.database_files (Transact-SQL)

sys.master_files (Transact-SQL)