Condividi tramite


FILE_IDEX (Transact-SQL)

Restituisce il numero di identificazione (ID) di file per il nome di file logico specificato del file di dati, file di log o file full-text nel database corrente.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

FILE_IDEX ( file_name )

Argomenti

  • file_name
    Espressione di tipo sysname che rappresenta il nome del file per il quale restituire l'ID file.

Tipi restituiti

int

NULL in caso di errore.

Osservazioni

file_name corrisponde al nome di file logico visualizzato nella colonna name della vista del catalogo sys.master_files o sys.database_files.

È possibile utilizzare FILE_IDEX in un elenco di selezione, una clausola WHERE o in tutti i casi in cui è consentita un'espressione. Per ulteriori informazioni, vedere Espressioni (Transact-SQL).

Esempi

A.Recupero dell'ID file di un file specificato

Nell'esempio seguente viene restituito l'ID file per il file AdventureWorks_Data.

USE AdventureWorks2012;
GO
SELECT FILE_IDEX('AdventureWorks2012_Data')AS 'File ID';
GO

Set di risultati:

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

B.Recupero dell'ID file di un nome file non noto

Nell'esempio seguente viene restituito l'ID file del file di log AdventureWorks mediante la selezione del nome del file logico dalla vista del catalogo sys.database_files, dove il tipo di file è uguale a 1 (log).

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

Set di risultati:

File ID 
------- 
2

C.Recupero dell'ID file di un file del catalogo full-text

Nell'esempio seguente viene restituito l'ID di un file full-text mediante la selezione del nome del file logico dalla vista del catalogo sys.database_files, dove il tipo di file è uguale a 4 (full-text). Se non esiste un catalogo full-text, nell'esempio verrà restituito NULL.

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

Vedere anche

Riferimento

Funzioni per i metadati (Transact-SQL)

sys.database_files (Transact-SQL)

sys.master_files (Transact-SQL)