Condividi tramite


FILE_IDEX (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

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

Convenzioni relative alla sintassi Transact-SQL

Sintassi

FILE_IDEX ( file_name )  

Argomenti

file_name
Un'espressione di tipo sysname che restituisce il valore di ID di file 'FILE_IDEX' per il nome del file.

Tipi restituiti

int

NULL in caso di errore

Osservazioni:

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

Usare FILE_IDEX in un elenco SELECT, una clausola WHERE o in qualsiasi posizione che supporti l'uso di un'espressione. Per altre informazioni, vedere Espressioni (Transact-SQL).

Esempi

R. Recupero dell'ID file di un file specificato

L'esempio seguente restituisce l'ID per il file AdventureWorks_Data.

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX('AdventureWorks2022_Data') AS 'File ID';  
GO  

Il set di risultati è il seguente.

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

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

Questo esempio restituisce l'ID del file di log AdventureWorks. Il frammento di codice Transact-SQL (T-SQL) consente di selezionare il nome file logico dalla vista del catalogo sys.database_files, in cui il tipo di file è uguale a 1 (log).

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

Il set di risultati è il seguente.

File ID   
-------   
2  

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

Questo esempio restituisce l'ID di un file full-text. Il frammento di codice T-SQL consente di selezionare il nome file logico dalla vista del catalogo sys.database_files, in cui il tipo di file è uguale a 4 (full-text). Se non esiste un catalogo full-text, il codice restituisce 'NULL'.

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

Vedi anche

Funzioni per i metadati (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)