Partilhar via


FILE_IDEX (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Esta função retorna o número de identificação (ID) do arquivo para o nome lógico especificado de um dado, log ou arquivo de texto completo do banco de dados atual.

Convenções de sintaxe de Transact-SQL

Sintaxe

FILE_IDEX ( file_name )  

Argumentos

file_name
Uma expressão do tipo sysname que retorna o valor da ID do arquivo “FILE_IDEX” para o nome do arquivo.

Tipos de retorno

int

NULL em caso de erro

Comentários

file_name corresponde ao nome de arquivo lógico exibido na coluna name nas exibições do catálogo sys.master_files ou sys.database_files.

Use FILE_IDEX em uma lista SELECT, uma cláusula WHERE ou qualquer lugar com suporte ao uso de uma expressão. Para obter mais informações, confira Expressões (Transact-SQL).

Exemplos

a. Recuperando a ID de um arquivo especificado

Este exemplo retorna a ID de arquivo para o arquivo AdventureWorks_Data.

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

Veja a seguir o conjunto de resultados.

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

B. Recuperando a ID do arquivo quando o nome de arquivo não é conhecido

Este exemplo retorna a ID de arquivo do arquivo de log AdventureWorks. O snippet de código Transact-SQL (T-SQL) seleciona o nome do arquivo lógico da exibição de catálogo sys.database_files, em que o tipo de arquivo é igual a 1 (log).

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

Veja a seguir o conjunto de resultados.

File ID   
-------   
2  

C. Recuperando a ID de um arquivo de catálogo de texto completo

Este exemplo retorna a ID de arquivo de um arquivo de texto completo. O snippet de código T-SQL seleciona o nome do arquivo lógico da exibição de catálogo sys.database_files, em que o tipo de arquivo é igual a 4 (texto completo). Este código retornará “NULL” se um catálogo de texto completo não existir.

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

Consulte Também

funções de metadados (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)