FILE_IDEX (Transact-SQL)

現在のデータベース内のデータ、ログ、またはフルテキスト ファイルについて、指定された論理ファイル名のファイル識別 (ID) 番号を返します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

FILE_IDEX ( file_name )

引数

  • file_name
    sysname 型の式です。ファイル ID を返すファイルの名前を表します。

戻り値の型

int

エラーの場合には NULL が返されます。

説明

file_name は、カタログ ビュー sys.master_files または sys.database_files の、name 列に表示される論理ファイル名に対応します。

FILE_IDEX は、選択リスト、WHERE 句、または式が許容される任意の場所で使用できます。詳細については、「式 (Transact-SQL)」を参照してください。

A. 指定されたファイルのファイル ID を取得する

次の例では、AdventureWorks_Data というファイルのファイル ID が返されます。

USE AdventureWorks;
GO
SELECT FILE_IDEX('AdventureWorks_Data')AS 'File ID';
GO

以下に結果セットを示します。

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

B. ファイル名が不明の場合のファイル ID を取得する

次の例では、sys.database_files カタログ ビューからファイルの種類が 1 (ログ) に等しい論理ファイル名を選択することにより、AdventureWorks ログ ファイルのファイル ID を返します。

USE AdventureWorks;
GO
SELECT FILE_IDEX((SELECT name FROM sys.database_files 
WHERE type = 1))AS 'File ID';
GO

以下に結果セットを示します。

File ID 
------- 
2

C. フルテキスト カタログ ファイルのファイル ID を取得する

次の例では、sys.database_files カタログ ビューからファイルの種類が 4 (フル テキスト) に等しい論理ファイル名を選択することにより、フルテキスト ファイルのファイル ID を返します。この例では、フルテキスト カタログが存在しない場合、NULL が返されます。

SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))
AS 'File_ID';