FILE_IDEX (Transact-SQL)
Devuelve el número de identificación del archivo (Id.) para el nombre del archivo lógico de datos, registro o texto completo de la base de datos actual.
Sintaxis
FILE_IDEX ( file_name )
Argumentos
- file_name
Es una expresión de tipo sysname que representa el nombre del archivo para el que se devuelve el Id. del archivo.
Tipos de valor devueltos
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.
FILE_IDEX se puede utilizar en una lista de selección, en una cláusula WHERE o en cualquier lugar en el que se permita una expresión. Para obtener más información, vea Expresiones (Transact-SQL).
Ejemplos
A. Recuperar el Id. de archivo de un archivo especificado
El siguiente ejemplo devuelve el Id. de archivo para el archivo AdventureWorks2008R2_Data.
USE AdventureWorks2008R2;
GO
SELECT FILE_IDEX('AdventureWorks2008R2_Data')AS 'File ID';
GO
El conjunto de resultados es el siguiente.
File ID
-------
1
(1 row(s) affected)
B. Recuperar el Id. de archivo cuando se desconoce el nombre del archivo
El siguiente ejemplo devuelve el Id. de archivo del archivo de registro de AdventureWorks2008R2 seleccionando el nombre del archivo lógico de la vista de catálogo sys.database_files en la que el tipo de archivo es igual a 1 (registro).
USE AdventureWorks2008R2;
GO
SELECT FILE_IDEX((SELECT TOP(1)name FROM sys.database_files
WHERE type = 1))AS 'File ID';
GO
El conjunto de resultados es el siguiente.
File ID
-------
2
C. Recuperar el Id. de archivo de un archivo de catálogo de texto completo
El siguiente ejemplo devuelve el Id. de archivo de un archivo de texto completo seleccionando el nombre del archivo lógico de la vista de catálogo sys.database_files en la que el tipo de archivo es igual a 4 (texto completo). En este ejemplo se 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';