Compartir a través de


FILE_IDEX (Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Esta función devuelve el número de identificación del archivo (id.) para el nombre lógico especificado de un archivo de datos, registro o texto completo de la base de datos actual.

Convenciones de sintaxis de Transact-SQL

Sintaxis

FILE_IDEX ( file_name )  

Argumentos

file_name
Una expresión de tipo sysname que devuelve el valor de id. de archivo "FILE_IDEX" del nombre del archivo.

Tipos de valor devuelto

int

NULL en caso de error

Comentarios

file_name corresponde al nombre de archivo lógico mostrado en la columna name de las vistas de catálogo sys.master_files o sys.database_files.

Utilice FILE_IDEX en una lista SELECT, en una cláusula WHERE o en cualquier lugar que admita el uso de una expresión. Para más información, vea Expresiones (Transact-SQL).

Ejemplos

A. Recuperar el Id. de archivo de un archivo especificado

Este ejemplo devuelve el id. de archivo para el archivo AdventureWorks_Data.

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

Este es el conjunto de resultados.

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

B. Recuperar el Id. de archivo cuando se desconoce el nombre del archivo

Este ejemplo devuelve el id. de archivo del archivo de registro AdventureWorks. El fragmento de código Transact-SQL (T-SQL) selecciona el nombre de archivo lógico de la vista de catálogo sys.database_files, donde el tipo de archivo es igual a 1 (registro).

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

Este es el conjunto de resultados.

File ID   
-------   
2  

C. Recuperar el Id. de archivo de un archivo de catálogo de texto completo

Este ejemplo devuelve el id. de archivo de un archivo de texto completo. El fragmento de código T-SQL selecciona el nombre de archivo lógico de la vista de catálogo sys.database_files, donde el tipo de archivo es igual a 4 (texto completo). Este código devuelve "NULL" si no existe ningún catálogo de texto completo.

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

Vea también

Funciones de metadatos (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)