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.

Icono de vínculo a temasConvenciones 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

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';