Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Esta função devolve o número de identificação do ficheiro (ID) para o nome lógico especificado de um ficheiro de dados, registo ou texto completo da base de dados atual.
Transact-SQL convenções de sintaxe
Syntax
FILE_IDEX ( file_name )
Arguments
file_name
Uma expressão do tipo sysname que devolve o valor do ID do ficheiro 'FILE_IDEX' para o nome do ficheiro.
Tipos de devolução
int
NULL em caso de erro
Observações
file_name corresponde ao nome lógico do ficheiro apresentado na coluna do nome das vistas de catálogo sys.master_files ou sys.database_files .
Use FILE_IDEX numa lista SELECT, numa cláusula WHERE ou em qualquer lugar que suporte o uso de uma expressão. Para obter mais informações, consulte Expressões (Transact-SQL).
Examples
A. Recuperar o ID do ficheiro de um ficheiro especificado
Este exemplo devolve o ID do ficheiro do AdventureWorks_Data ficheiro.
USE AdventureWorks2022;
GO
SELECT FILE_IDEX('AdventureWorks2022_Data') AS 'File ID';
GO
Aqui está o conjunto de resultados.
File ID
-------
1
(1 row(s) affected)
B. Recuperar o id do ficheiro quando o nome do ficheiro não é conhecido
Este exemplo devolve o ID do ficheiro do AdventureWorks registo. O fragmento de código Transact-SQL (T-SQL) seleciona o nome lógico do ficheiro da sys.database_files vista de catálogo, onde o tipo de ficheiro é 1 igual a (log).
USE AdventureWorks2022;
GO
SELECT FILE_IDEX((SELECT TOP (1) name FROM sys.database_files WHERE type = 1)) AS 'File ID';
GO
Aqui está o conjunto de resultados.
File ID
-------
2
C. Recuperar o id do ficheiro de um ficheiro de catálogo em texto completo
Este exemplo devolve o ID do ficheiro de um ficheiro em texto completo. O excerto de código T-SQL seleciona o nome lógico do ficheiro a partir da sys.database_files vista de catálogo, onde o tipo de ficheiro é 4 igual a (texto completo). Este código devolve 'NULL' se não existir um catálogo de texto completo.
SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))
AS 'File_ID';