FILE_IDEX (Transact-SQL)
Возвращает номер идентификатора файла (ID) для указанного логического имени файла данных, файла журнала, или полнотекстового файла в текущей базе данных.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в 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)