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 de la base de datos actual.
Convenciones de sintaxis de Transact-SQL
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
Notas
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 AdventureWorks_Data
.
USE AdventureWorks;
GO
SELECT FILE_IDEX('AdventureWorks_Data')AS 'File ID';
GO
Éste 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
El siguiente ejemplo devuelve el Id. de archivo del archivo de registro de AdventureWorks
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 AdventureWorks;
GO
SELECT FILE_IDEX((SELECT name FROM sys.database_files
WHERE type = 1))AS 'File ID';
GO
Éste es el conjunto de resultados.
File ID
-------
2
C. Recuperar el Id. de archivo de un archivo de catálogo de texto
El siguiente ejemplo devuelve el Id. de archivo de un archivo de texto 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). En este ejemplo se devuelve NULL si no existe ningún catálogo de texto.
SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))
AS 'File_ID';
Vea también
Referencia
Funciones de metadatos (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)